
- 已知x,y是正整数,满足$100times x+10times y=10000$,输出所有可能的x,y。
1
2
3
4
5
6
7
8int (){
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
12int (){
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
13int (){
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 |
int (){ |
- 输入5个数字,判断最大整数值
1 |
int (){ |
- 将n秒表示成时分秒的形式
1
2
3
4int 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
9int 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
11int 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。




近期评论