深搜dfs只得了80分,最后两个点错误,求助大佬!!
  • 板块P2089 烤鸡
  • 楼主152chenzihao
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/1/18 12:02
  • 上次更新2023/10/24 03:45:20
查看原帖
深搜dfs只得了80分,最后两个点错误,求助大佬!!
638371
152chenzihao楼主2023/1/18 12:02
#include<bits/stdc++.h>
using namespace std;
int n,a[11],ans[5005][11],tot1,tot2;
void dfs(int m){
	if(m==11){
		tot1=0;
		for(int i=1;i<=10;i++){
			tot1+=a[i];
		}
		if(tot1==n){
			tot2++;
			for(int i=1;i<=10;i++){
				ans[tot2][i]=a[i];
			}
		}
		return;
	}
	for(int i=1;i<=3;i++){
		a[m]=i;
		dfs(m+1);
	}
}
int main(){
	cin>>n;
	if(n<=9){
		cout<<"0";
		return 0;
	}
	dfs(1);
	cout<<tot2<<endl;
	for(int i=1;i<=tot2;i++){
		for(int u=1;u<=10;u++){
			cout<<ans[i][u]<<" ";
		}
		cout<<endl;
	}
	return 0;
}
2023/1/18 12:02
加载中...