2 solutions

  • 1
    @ 2024-8-8 13:44:16
    #include<bits/stdc++.h>
    using namespace std;
    const int N=30;
    int ans[N],n,m;
    bool st[N];
    void dfs(int u,int x)
    {
    	if(u==m+1)
    	{
    		for(int i=1;i<=m;i++)
            {
    			cout<<ans[i]<<" ";
            }
    		cout<<endl;
    		return;
    	}
    	for(int i=x;i<=n;i++)
        {
    		if(!st[i])
    		{
    			st[i]=1;
    			ans[u]=i;
    			dfs(u+1,i+1);
    			st[i]=0;
    		}
        }
    }
    int main()
    {
    	cin>>n>>m;
    	dfs(1,1);
    	return 0;
    }
    

    Information

    ID
    232
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    3
    Tags
    # Submissions
    40
    Accepted
    11
    Uploaded By