求大佬帮调,40分,输入17的时候就会少一些数
  • 板块P2089 烤鸡
  • 楼主joeyzy
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/11/30 21:17
  • 上次更新2023/12/1 12:32:31
查看原帖
求大佬帮调,40分,输入17的时候就会少一些数
1158999
joeyzy楼主2023/11/30 21:17
#include<iostream>

using namespace std;

int cnt=0;    int n;
int arr[100000][10]={0};
int temp[10]={0};

void find(int k,int add)
{
    if(k==10||add==0)
    {
        for(int i=0;i<10;i++)
        arr[cnt][i]=temp[i];
        cnt++;
        return;
    }
    if(k==9)
    {
        temp[k]=add;
        find(k+1,0);
        temp[k]=0;
    }
    else
    {
    for(int i=0;(i<=add&&((add-i)/(9-k))<=2)&&i<=2;i++)
    {
        temp[k]=i;
        add=add-i;
        find(k+1,add);
        add=add+i;
        temp[k]=0;
    }
    }
    return;
}

int main()
{
    scanf("%d",&n);
    if(n<10||n>30) 
    {
        printf("0");
        return 0;
    }
    else
    find(0,n-10);
    printf("%d\n",cnt);
    for(int i=0;i<cnt;i++)
    {
        for(int j=0;j<10;j++)
        printf("%d ",arr[i][j]+1);
        printf("\n");
    }
    return 0;
}
2023/11/30 21:17
加载中...