搭积木 蓝桥杯

#include

//答案 768
int m[11];
int v[10]={0};
int c=0;
void check()
   {
 if((m[1]   {
  printf("%d\n",m[1]);
  printf("%d%d\n",m[2],m[3]);
  printf("%d%d%d\n",m[4],m[5],m[6]);
  printf("%d%d%d%d\n",m[7],m[8],m[9],m[10]);
  c++;
  }
 
   }
void dfs(int n)
{
 if(n==11)
 {
  check();
  return ;
 }
 for(int i=0;i<=9;i++)
  {
   if(v[i]==0)
   {
    v[i]=1;
    m[n]=i;
    dfs(n+1);
     v[i]=0;
   }
  }
}
main()
{dfs(1);
printf("%d",c);
return 0;
}

你可能感兴趣的:(搭积木 蓝桥杯)