求帮看看思路和代码错在哪
  • 板块P2089 烤鸡
  • 楼主Blank21
  • 当前回复1
  • 已保存回复1
  • 发布时间2021/9/17 08:59
  • 上次更新2023/11/4 06:35:15
查看原帖
求帮看看思路和代码错在哪
573065
Blank21楼主2021/9/17 08:59
# include<stdio.h>

int b[10001][10];

int main()
{
  int a[11]={0,1,1,1,1,1,1,1,1,1,1};
  int key;
  int sum=0;
  int j=10;
  int count=0;
  int n=0;
  int x=1;

  scanf("%d",&key);
  //当原最高位满4进1,最高位发生变化,说明枚举结束
  while(a[0]!=1){
      int j=10;
      int sum=0; 
      //计算该情况下总和
      for(int i=1;i<11;i++)
         sum+=a[i];
      //总和与要求相等,记录该组解
      if(sum==key){
        count++;
        x=1;
        for(int i=0;i<10;i++){
           b[n][i]=a[x];
           x++;
        } 
        n++; 
      }
  //最后一位加1,满4进1
  a[j]++;
  while(a[j]==4)
  {
       a[j]=1;
       a[--j]+=1; 
  } 
  }
  printf("%d\n",count);
  //输出
  for(int i=0;i<n;i++)
  { 
     for(int j=0;j<10;j++)
         printf("%d",b[i][j]);
         printf("\n"); 
  }
  return 0;
}
    
2021/9/17 08:59
加载中...