蒟蒻求助
  • 板块P2089 烤鸡
  • 楼主迟陌
  • 当前回复10
  • 已保存回复10
  • 发布时间2022/7/28 23:28
  • 上次更新2023/10/27 17:56:12
查看原帖
蒟蒻求助
160870
迟陌楼主2022/7/28 23:28

手打的第一题dfs 感觉思路对了但是跑了一下只有40分 不知道是不是输出部分出了问题?求大佬指点(蒟蒻大哭

#include<iostream>
#include<cstdio>
using namespace std;
int n,ans=0;
int a[1000001][11];
int t[20];
void dfs(int dep,int sum)
{
	if(sum==n&&dep==10)
	{
	  for(int i=1;i<=10;i++)
	  a[ans][i]=t[i];
	  ans++;
	  return;
	} 
	if(dep>10)
	return;
	else
	{
		for(int i=1;i<=3;i++)
        {
        	t[dep]=i;
	    	dfs(dep+1,sum+i);
		}
	}
}
int main()
{
	cin>>n;
	if(n<10)
	{
		cout<<"0"<<endl;
		return 0;
	}
	dfs(0,0);
	cout<<ans<<endl;
	for(int i=0;i<=ans-1;i++)
	{
	for(int j=1;j<=9;j++)
	{
		cout<<a[i][j]<<" ";
	}
	cout<<endl;
}
	return 0;
}

2022/7/28 23:28
加载中...