您的位置:首页 > 其它

codeforces 659A A. Round House(水题)

2016-03-31 12:18 369 查看
题目链接:

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 n, a 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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: