题目名字
题意
谁的电少给谁充,到1必须充,到零游戏结束
坑点
- 要想到特例–两个都为1
算法一:XX+XX
for循环+if语句
实现步骤
- 先找特例,两个都为1,无法充电,直接为零
- 当两个都大于0时,进行比大小
- 并加1
代码
#include <bits/stdc++.h>
using namespace std;
int main() {
int a1,a2;
cin>>a1>>a2;
if(a1 == 1 && a2 == 1) {//两个都是1,冲谁都没用
cout<<"0";
return 0;
}
int cnt = 0;
while(a1 > 0 && a2 > 0) {
if(a1 >= a2) {
a2 += 1;
a1 -= 2;
} else {
a2 -= 2;
a1 += 1;
}
if(a1 >= 0 && a2 >= 0) cnt++;
}
cout<<cnt;
return 0;
}
总结
当时看题目,没有读懂,以为是到1,才能充。思路不对,且没有想到特例–两个都为1.