zoukankan      html  css  js  c++  java
  • Codeforces 811 A. Vladik and Courtesy

     
    time limit per test
    2 seconds
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard output

    At regular competition Vladik and Valera won a and b candies respectively. Vladik offered 1 his candy to Valera. After that Valera gave Vladik 2 his candies, so that no one thought that he was less generous. Vladik for same reason gave 3 candies to Valera in next turn.

    More formally, the guys take turns giving each other one candy more than they received in the previous turn.

    This continued until the moment when one of them couldn’t give the right amount of candy. Candies, which guys got from each other, they don’t consider as their own. You need to know, who is the first who can’t give the right amount of candy.

    Input

    Single line of input data contains two space-separated integers a, b (1 ≤ a, b ≤ 109) — number of Vladik and Valera candies respectively.

    Output

    Pring a single line "Vladik’’ in case, if Vladik first who can’t give right amount of candy, or "Valera’’ otherwise.

    Examples
    Input
    1 1
    Output
    Valera
    Input
    7 6
    Output
    Vladik
    Note

    Illustration for first test case:

    Illustration for second test case:

    题意就是两个人依次拿出多于上一个人的糖。

    代码1:

    #include<bits/stdc++.h>
    using namespace std;
    int main(){
        int n,m;
        int num1,num2;
        while(~scanf("%d%d",&n,&m)){
            num1=0;num2=0;
            int t=n;
            for(int i=0;i<=t;i=i+2){
                if(n>=i+1){
                  num1++;
                  n=n-(i+1);
                }
                if(m>=i+2){
                  num2++;
                  m=m-(2+i);
               }
            }
            //cout<<num1<<" "<<num2<<endl;
            if(num1<=num2) printf("Vladik
    ");
            else printf("Valera
    ");
        }
        return 0;
    }

    代码2:

    #include<bits/stdc++.h>
    using namespace std;
    int main(){
        int n,m;
        int num1,num2;
        while(~scanf("%d%d",&n,&m)){
            num1=0;num2=0;
            int t=n;
            for(int i=1;i<=t;i++){       //我一开始写的i=0;i<=n,n会变的。
    if(n>=2*i-1){ num1++; n-=2*i-1; } if(m>=2*i){ num2++; m-=2*i; } } if(num1<=num2) printf("Vladik "); else printf("Valera "); } return 0; }
  • 相关阅读:
    被标记为事务的方法互相调用的坑(上)
    几种实现延时任务的方式(三)
    几种实现延时任务的方式(二)
    几种实现延时任务的方式(一)
    Windows AD日志分析平台WatchAD安装教程
    Django单元测试中Fixtures用法
    威联通(NAS)搭建个人图床
    centOS极简安装并启动ngnix
    【JS档案揭秘】第一集 内存泄漏与垃圾回收
    【JS简洁之道小技巧】第一期 扁平化数组
  • 原文地址:https://www.cnblogs.com/ZERO-/p/6926916.html
Copyright © 2011-2022 走看看