Vladik 有 个糖果,Valera 有
两个人回合制的互送礼物给对方。
第一轮,Vladik 送给 Valera
第二轮,Valera 送给 Vladik
第三轮,Vladik 送给 Valera
以此类推,两人轮流给对方送糖果,且每轮送出的糖果数量都比上一轮多一个。
当某一轮,轮到某人送糖果时,如果糖果数量不够了,则停止互送礼物。
请问,是谁的糖果率先不够?
注意,每个人都只能送给对方自己事先准备的糖果。
自己收到的糖果不得再送还给对方。
输入格式
第一行包含整数 ,表示共有
每组数据占一行,包含两个整数 。
输出格式
每组数据输出一行结果,如果 的糖果率先不够,则输出
Vladik
,否则输出
Valera
。
数据范围
2
1 1
7 6
Valera
Vladik
#include<iostream>
#include<cmath>
using namespace std;
int main(){
int t;
cin >> t;
int n, m, a, b;
while(t--){
cin >> n >> m;
a = sqrt(n);
double x = sqrt(1 + 4 * (long long)m);
b = (-1 + x) / 2;
if(a <= b) puts("Vladik");
else puts("Valera");
}
return 0;
}
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int main()
{
int T;
cin >> T;
while (T -- )
{
int a, b;
cin >> a >> b;
int k = 1;
while (true)
{
if (a < k)
{
puts("Vladik");
break;
}
a -= k ++ ;
if (b < k)
{
puts("Valera");
break;
}
b -= k ++ ;
}
}
return 0;
}