-
CodeForces 811A-Vladik and Courtesy
-
题目链接:A. Vladik and Courtesy
-
思路:
Vladik 和 Valera 分别有a,b颗糖,从 Vladik开始,第一轮Vladik给Valera 一颗他的糖,Valera 给 Vladik 2颗,也就是每人给对方的糖数会以2递增,问谁的糖最先无法按该规律给予对方
首先,对方给的糖,在下一轮不能返还,也就是只能把自己原有的糖给对方
Vladik : 1 3 5 7 ............
Valera:2 4 6 8 ...................
每个人每次要给对方的糖数都会增2
模拟过程,直到出现有一个人无法完成给糖
-
代码:
#include <iostream>
using namespace std;
int main()
{
long long a,b;
long long i=1,j=2; //Vladik给糖数从1开始, Valera给糖数从2开始
cin>>a>>b;
while(a>=0&&b>=0)
{
a-=i;
if(a>=0) //有一个人不能给就跳出
b-=j;
i+=2;
j+=2;
}
if(a<0)
cout<<"Vladik"<<endl;
else
cout<<"Valera"<<endl;
return 0;
}