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

 

 

posted @ 2016-03-31 12:18  LittlePointer  阅读(404)  评论(0编辑  收藏  举报