很明显一个为奇数求和一个为偶数求和看哪一个先小于
当相等时,奇数的人输了因为下次要到她
题目描述
Vladik 有 a 个糖果,Valera 有 b 个糖果。
两个人回合制的互送礼物给对方。
第一轮,Vladik 送给 Valera 1 个糖果。
第二轮,Valera 送给 Vladik 2 个糖果。
第三轮,Vladik 送给 Valera 3 个糖果。
以此类推,两人轮流给对方送糖果,且每轮送出的糖果数量都比上一轮多一个。
当某一轮,轮到某人送糖果时,如果糖果数量不够了,则停止互送礼物。
请问,是谁的糖果率先不够?
注意,每个人都只能送给对方自己事先准备的糖果。
自己收到的糖果不得再送还给对方。
输入格式
第一行包含整数 T,表示共有 T 组测试数据。
每组数据占一行,包含两个整数 a,b。
输出格式
每组数据输出一行结果,如果 Vladik 的糖果率先不够,则输出 Vladik,否则输出 Valera。
数据范围
1≤T≤10,
1≤a,b≤109
样例
输入样例:
2
1 1
7 6
输出样例:
Valera
Vladik
算法1
(暴力枚举)
时间复杂度
O(t*√n)
#include<iostream>
using namespace std;
int main(){
int t;
cin>>t;
while(t--){
int a,b;
cin>>a>>b;
int x=0,y=0;
int su=0,sm=0;
for(int i=1;x<=a;){
x+=i;
i+=2;
su++;
}
for(int i=2;y<=b;){
y+=i;
i+=2;
sm++;
}
if(su<=sm)cout<<"Vladik"<<endl;
else cout<<"Valera"<<endl;
}
}