30分求助!!快要碎了
  • 板块P2089 烤鸡
  • 楼主hjyyyyyy_123
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/3/21 17:33
  • 上次更新2024/3/21 20:10:10
查看原帖
30分求助!!快要碎了
1318525
hjyyyyyy_123楼主2024/3/21 17:33

到底是哪里出了问题呢?

#include<iostream>
using namespace std;

int n;
int arr[11];
int res=0;
int ans[59060][11];

void dfs(int x,int sum)
{
    if(sum>n) return;//剪枝
    if(x==11){
        if(sum==n)
        { 
            res++;
            for(int i=1;i<=10;i++)
            {
                ans[res][i]=arr[i];
            }
            return;
        }
    }
    for(int i=1;i<=3;i++)
    {
        arr[x]=i;
        dfs(x+1,sum+i);     
    }
}

int main()
{
    scanf("%d",&n);    
    dfs(1,0);
    printf("%d\n",res);
    for(int i=1;i<=res;i++)
    {
        for(int j=1;j<=10;j++)
        {
            printf("%d ",ans[i][j]);
        }
        printf("\n");
     }
    return 0;
}
2024/3/21 17:33
加载中...