AcWing 3799. 送糖果
Description
Vladik 有 a 个糖果,Valera 有 b 个糖果。
两个人回合制的互送礼物给对方。
第一轮,Vladik 送给 Valera 1 个糖果。
第二轮,Valera 送给 Vladik 2 个糖果。
第三轮,Vladik 送给 Valera 3 个糖果。
以此类推,两人轮流给对方送糖果,且每轮送出的糖果数量都比上一轮多一个。
当某一轮,轮到某人送糖果时,如果糖果数量不够了,则停止互送礼物。
请问,是谁的糖果率先不够?
注意,每个人都只能送给对方自己事先准备的糖果。
自己收到的糖果不得再送还给对方。
Input
第一行包含整数 T,表示共有 T 组测试数据。
每组数据占一行,包含两个整数 a,b。
Output
每组数据输出一行结果,如果 Vladik 的糖果率先不够,则输出 Vladik,否则输出 Valera。
code
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int main()
{
int T;
cin >> T;
while(T --)
{
int a, b;
cin >> a >> b;
int i = 0;
while(a >= 0 && b >= 0)
{
if(++ i % 2 == 1) a -= i ;
else b -= i;
}
if(a < 0) cout << "Vladik" << endl;
else cout << "Valera" << endl;
}
return 0;
}