joystick

题目名字

joystick

题意

谁的电少给谁充,到1必须充,到零游戏结束

坑点

  1. 要想到特例–两个都为1

算法一:XX+XX

for循环+if语句

实现步骤
  1. 先找特例,两个都为1,无法充电,直接为零
  2. 当两个都大于0时,进行比大小
  3. 并加1
代码
 #include 
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.

你可能感兴趣的:(算法)