Codeforces651A Joysticks

题目链接

题意:给出两个手机的初始电量值,每秒只能给一个手机充电,充电的手机每秒电量+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;
}
Zhao Li /
Published under (CC) BY-NC-SA in categories 算法