题意:给出两个手机的初始电量值,每秒只能给一个手机充电,充电的手机每秒电量+1,另一个就每秒-2,问最多能保持两个手机都有电多少秒。
小的+1,大的-2,由于数据较小直接模拟。
需要注意的是要特判下 1 1 的情形,因为不能坚持 1s,所以这组数据是 0。。。。。
#include<cstdio> #include<cstring> #include<cmath> #include<iostream> #include<algorithm> #include<vector> #include<map> #include<queue> #include<stack> #include<string> using namespace std; int main(){ //freopen("a.txt", "r", stdin); int a1, a2; while(~scanf("%d %d", &a1, &a2)){ int ans = 0; if(a1==1 && a2 ==1) cout << "0" << endl; else{ while(1){ if(a1 > a2) swap(a1, a2); a1 += 1; a2 -= 2; ans++; if(a1 <= 0 || a2 <= 0)break; } cout << ans << endl; } } return 0; }