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;
}
posted @ 2021-08-10 19:15  CharlesLC  阅读(30)  评论(0编辑  收藏  举报