1. 程式人生 > 其它 >AcWing 3799. 送糖果

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;
}