80分超时 求助
查看原帖
80分超时 求助
547359
jiaheng1103楼主2024/9/18 17:12
#include<iostream>
#include<cstdio>
using namespace std;
int ans[50],b,c[50],d,li[50]; 
bool ju()
{
    int li;
    for(int i=1;i<d;i++)
    {
        li=ans[i+1]-ans[i] ;
        if(li<0)return 0;
    }
    return true;
}
void dfs(int m)
{
    if(m>d){
        if(ju()==1)
        {
            for(int i=1;i<=d;i++)
    		{
    			printf("%3d",ans[i]);
            }
            cout<<endl;
        }
        return;
    }
    for(int i=1;i<=b;i++)
    {
        if(c[i]!=1)
        {
            c[i]=1;
            ans[m]=i;
            dfs(m+1);
            c[i]=0;		
        }
    }
}
int main()
{
    cin>>b>>d;
    dfs(1);
}
2024/9/18 17:12
加载中...