社区讨论

WA40pts十重循环求条

P2089烤鸡参与者 8已保存回复 14

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
14 条
当前快照
1 份
快照标识符
@mkhnb6uo
此快照首次捕获于
2026/01/17 09:45
上个月
此快照最后确认于
2026/01/19 17:40
上个月
查看原帖
CPP
#include<bits/stdc++.h>
#define int long long
#define endl "\n"
using namespace std;
const int mod=1e9+7;
const int inf=1e13;
int max(int A,int B){return (A>B)?A:B;}
int min(int A,int B){return (A<B)?A:B;}
string num(int a){
	if(a==10) return "10";
	string s;
	s.push_back(char(a+'0'));
	return s;
}signed main(){
	ios::sync_with_stdio(0);
	cin.tie(0),cout.tie(0);
//	freopen("meishi1.out","w",stdout);
	vector<string> vec;
	int n,ans=0;cin>>n;
	if(n>30||n<10){cout<<0;return 0;}
	for(int i1=1;i1<=10;i1++){
		for(int i2=1;i2<=10;i2++){
			for(int i3=1;i3<=10;i3++){
				if(i1+i2+i3>30) break;
				for(int i4=1;i4<=10;i4++){
					if(i1+i2+i3+i4>30) break;
					for(int i5=1;i5<=10;i5++){
						if(i1+i2+i3+i4+i5>30) break;
						for(int i6=1;i6<=10;i6++){
							if(i1+i2+i3+i4+i5+i6>30) break;
							for(int i7=1;i7<=10;i7++){
								if(i1+i2+i3+i4+i5+i6+i7>30) break;
								for(int i8=1;i8<=10;i8++){
									if(i1+i2+i3+i4+i5+i6+i7+i8>30) break;
//									if(i1+i2+i3+i4+i5+i6+i7+i8+20<n) continue;
									for(int i9=1;i9<=10;i9++){
										if(i1+i2+i3+i4+i5+i6+i7+i8+i9>30) break;
//										if(i1+i2+i3+i4+i5+i6+i7+i8+i9+10<n) continue;
//										for(int i10=1;i10<=10;i10++){
											int val=i1+i2+i3+i4+i5+i6+i7+i8+i9;
											if(val+10>=n&&val+1<=n){
												ans++;
												string s1=num(i1)+' '+num(i2)+' '+num(i3)+' '+num(i4)+' '+num(i5)+' '+num(i6)+' '+num(i7)+' '+num(i8)+' '+num(i9)+' '+num(n-val)+endl;
												vec.push_back(s1);
											}
//										}
									}
								}
							}
						}
					}
				}
			}
		}
	}cout<<ans<<endl;
	for(int i=0;i<vec.size();i++) cout<<vec[i];
	return 0;
}

回复

14 条回复,欢迎继续交流。

正在加载回复...