dfs30分玄关求调
查看原帖
dfs30分玄关求调
1042335
Tennantloyaldog楼主2024/5/25 20:13

rt

#include<bits/stdc++.h>
using namespace std;
int cnt,n;
int a[10];
int b[100010][10];
void dfs(int k,int sum){
	if(k==11){
		if(sum==n){
			cnt++;
			for(int j=0;j<10;j++){
				b[cnt][j]=a[j];
			}
		}
		return;
	}
	for(int i=1;i<4;i++){
		if(sum+i>n)return;
		a[k]=i;
		dfs(k+1,sum+i);
	}	
}
int main(){
	cin >> n;
	dfs(1,0);
	cout << cnt<<"\n";
	for(int i=0;i<cnt;i++){
		for(int j=0;j<10;j++){
			cout << b[i][j]<<" ";
		}
		cout <<"\n";
	}
	return 0;
}
2024/5/25 20:13
加载中...