竞赛
考级
法兰西玫瑰
空降坐标:CP002712 来源:NOIP1997 普及组 请看代码 老实枚举写法
LW
直接枚举就可以了,没有什么问题。注意因为a+b+d+f=Pa+b+d+f=Pa+b+d+f=P,只需要枚举a,b,da,b,da,b,d,根据f=P−a−b−df=P-a-b-df=P−a−b−d计算出fff AC代码
唱跳坤
北大西洋公约 · NATO
不会枚举打表吧 这个数据很小,bd一下然后打表就可以了。 代码:
叫我杨同学
#include <bits/stdc++.h> using namespace std; int main() { int p,sum=0; cin>>p; for(int a=1;a<=9;a++) { for(int b=1;b<=9;b++) { if(a!=b) { for(int c=1;c<=9;c++) { if(a!=c&&b!=c) { for(int d=1;d<=9;d++) { if(a!=d&&b!=d&&c!=d) { for(int e=1;e<=9;e++) { if(a!=e&&b!=e&&c!=e&&d!=e) { for(int f=1;f<=9;f++) { if(a!=f&&b!=f&&c!=f&&d!=f&&e!=f) { for(int g=1;g<=9;g++) { if(a!=g&&b!=g&&c!=g&&d!=g&&e!=g&&f!=g) { for(int h=1;h<=9;h++) { if(a!=h&&b!=h&&c!=h&&d!=h&&e!=h&&f!=h&&g!=h) { int i=(1+2+3+4+5+6+7+8+9)-a-b-c-d-e-f-g-h; if((a<f&&f<i)&&(b<d&&g<h&&c<e)&&(a+b+d+ff+g+h+i&&f+g+h+ii+e+c+a&&i+e+c+a==p)) { sum++; } } } } } } } } } } } } } } } } cout<<sum; }
编程之神