求助dalao:三个TLE怎么优化
  • 板块P2089 烤鸡
  • 楼主2202YeYuXuan
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/3/2 21:38
  • 上次更新2023/10/23 23:18:55
查看原帖
求助dalao:三个TLE怎么优化
820899
2202YeYuXuan楼主2023/3/2 21:38
#include<bits/stdc++.h>
using namespace std;
const int M=22;
int i,j,m,n,a[M],ans,l=1,b[10000][M];
void dfs(int n,int sum){
	if(sum<0) return;
	if(n==11&&sum==0){
//		ans++;
		for(int j=1;j<=10;j++) b[l][j]=a[j];
//		cout<<'\n';
		l++;
		return;
	}
	for(int i=1;i<=3;i++){
		a[n]=i;
		dfs(n+1,sum-i);
//		a[n]=0;
	}
}
void dd(int n,int sum){
	if(sum<0) return;
	if(n==11&&sum==0){
		for(int j=1;j<=10;j++) cout<<a[j]<<" ";
		cout<<'\n';
		return;
	}
	for(int i=1;i<=3;i++){
		a[n]=i;
		dd(n+1,sum-i);
	}
}
int main(){
//	ios::sync_with_stdio(0);
	cin>>m;
	dfs(1,m);
	cout<<l-1<<'\n';
	for(int j=1;j<l;j++) {
		for(int i=1;i<=10;i++){
			cout<<b[j][i]<<" ";
		}
		cout<<'\n';
	}
//	dd(1,m);
	return 0;
}
2023/3/2 21:38
加载中...