- 已知x,y是正整数,满足$100times x+10times y=10000$,输出所有可能的x,y。
1 2 3 4 5 6 7 8
|
int (){ for(int x=1;x<100;x++){ if((10000-100*x)%10==0){ cout<<x<<" "<<(10000-100*x)/10<<endl; } } return 0; }
|
- 百马驮百瓦。
1 2 3 4 5 6 7 8 9 10 11 12
|
int (){ int ans=0; for(int x=0;x<=100;x++){ for(int y=0;x+y<=100;y++){ int z=100-x-y; if(3*x+2*y+z==100){ ans++; } } } cout<<ans<<endl; }
|
- 分解质因数。如:20 = 225
1 2 3 4 5 6 7 8 9 10 11 12 13
|
int (){ int n;cin>>n; for(int i=2;i<n;i++){ if(n%i==0){ while(n%i==0){ cout<<i<<" "; n=n/i; } } } if(n>1)cout<<n<<endl; return 0; }
|
- 输出一个字母三角形
1 2 3 4 5 6 7 8
|
int (){ for(int i=26;i>=1;i--){ for(int j=i;j>=1;j--)cout<<" "; for(int j=0;j<=26-i;j++)cout<<(char)(j+'a')<<" "; cout<<endl; } return 0; }
|
1 2 3 4 5 6 7 8 9 10
|
int (){ int a,b,c,d,e; cin>>a>>b>>c>>d>>e; int mx=a; if(mx<b)mx=b; if(mx<c)mx=c; if(mx<d)mx=d; if(mx<e)mx=e; cout<<mx; }
|
- 将n秒表示成时分秒的形式
1 2 3 4
|
int main(){ int n;cin>>n; cout<<n/3600<<" "<<n%3600/60<<" "<<n%60<<endl; }
|
- 求S=1+(1+2)+(1+2+3)+…+(1+2+3+…+10)。
1 2 3 4 5 6 7 8 9
|
int main(){ int s=0; for(int i=1;i<=10;i++){ for(int j=1;j<=i;j++){ s+=j; } } cout<<s; }
|
- 求$S=1^1+2^2+3^3+…+n^n$
1 2 3 4 5 6 7 8 9 10 11
|
int main(){ long long s=0; int n; cin>>n; for(int i=1;i<=n;i++){ long long tmp=1; for(int j=1;j<=i;j++)tmp*=i; s+=tmp; } cout<<s; }
|
- 龙虎斗思路
首先,预处理出最初始的时候,双方势力 值总和。
记为sum1和sum2。然后,s1个人出现在p1军营,你判断一下p1属于谁,相应的改动sum1和sum2的值便可。
这个时候,你要穷举所有的位置,计算把s2个人放在这个位置的情况,对sum1和sum2的影响。
最后维护一下最小差距便可。
整体复杂度O(n)。
以上。update by 屈京 2019/3/21。
近期评论