zoukankan      html  css  js  c++  java
  • codeforces 659A A. Round House(水题)

    题目链接:

    A. Round House

    time limit per test
    1 second
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard output

    Vasya lives in a round building, whose entrances are numbered sequentially by integers from 1 to n. Entrance n and entrance 1 are adjacent.

    Today Vasya got bored and decided to take a walk in the yard. Vasya lives in entrance a and he decided that during his walk he will move around the house b entrances in the direction of increasing numbers (in this order entrance n should be followed by entrance 1). The negative value of b corresponds to moving |b| entrances in the order of decreasing numbers (in this order entrance 1 is followed by entrance n). If b = 0, then Vasya prefers to walk beside his entrance.

    Illustration for n = 6, a = 2, b =  - 5.

    Help Vasya to determine the number of the entrance, near which he will be at the end of his walk.

    Input

    The single line of the input contains three space-separated integers na and b (1 ≤ n ≤ 100, 1 ≤ a ≤ n,  - 100 ≤ b ≤ 100) — the number of entrances at Vasya's place, the number of his entrance and the length of his walk, respectively.

    Output

    Print a single integer k (1 ≤ k ≤ n) — the number of the entrance where Vasya will be at the end of his walk.

    Examples
    input
    6 2 -5
    output
    3
    input
    5 1 3
    output
    4
    input
    3 2 7
    output
    3
    Note

    The first example is illustrated by the picture in the statements.

    题意:

    n个entrances a为起点,b为步数,问最终在哪,b正是一个方向,负是一个方向;

    思路:

    水题,不想解释,居然最后挂在了system test 上;

    AC代码:

    /*
    2014300227    659A - 49    GNU C++11    Accepted    15 ms    2172 KB
    
    */
    #include <bits/stdc++.h>
    using namespace std;
    int a[105];
    int main()
    {
        int n,a,b;
        scanf("%d%d%d",&n,&a,&b);
        queue<int>qu;
        int cnt=0;
        if(b>0)
        {
            for(int i=a;i<=n;i++)
            {
                qu.push(i);
            }
            for(int i=1;i<a;i++)
            {
                qu.push(i);
            }
            while(1)
            {
                qu.push(qu.front());
                qu.pop();
                cnt++;
                if(cnt>=b)
                {
                    cout<<qu.front()<<endl;
                    break;
                }
            }
    
        }
        else if(b<0)
        {
            b=-b;
            for(int i=a;i>0;i--)
            {
                qu.push(i);
            }
            for(int i=n;i>a;i--)
            {
                qu.push(i);
            }
            while(1)
            {
                qu.push(qu.front());
                qu.pop();
                cnt++;
                if(cnt>=b)
                {
                    cout<<qu.front()<<endl;
                    break;
                }
            }
    
        }
        else
        {
            cout<<a<<endl;
        }
    
    
        return 0;
    }
  • 相关阅读:
    python学习笔记(十一)处理json
    python学习笔记(十)常用模块
    python学习笔记(九)内置函数
    python学习笔记(八)函数return多个值,列表推导式和交换两个变量的值
    BZOJ 3675 [Apio2014]序列分割 (斜率优化DP)
    BZOJ 3126 [USACO2013 Open]Photo (单调队列优化DP)
    POJ 1821 Fence (单调队列优化DP)
    BZOJ 3326 [SCOI2013]数数 (数位DP)
    HDU 6148 Valley Numer (数位DP)
    BZOJ 2741 L (可持久化01Trie+分块)
  • 原文地址:https://www.cnblogs.com/zhangchengc919/p/5340678.html
Copyright © 2011-2022 走看看