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 bcorresponds 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.
![](http://codeforces.com/predownloaded/e6/5a/e65af471e97813f0c1cba6e28d4be26b9af33a11.png)
Help Vasya to determine the number of the entrance, near which he will be at the end of his walk.
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.
Print a single integer k (1 ≤ k ≤ n) — the number of the entrance where Vasya will be at the end of his walk.
6 2 -5
3
5 1 3
4
3 2 7
3
题意:1~n个数围成一个圆形,a为起点,b为将要走的步数,b>0则顺时针走b步,b<0逆时针走b步问最后终点是哪个点
#include<stdio.h> #include<string.h> #include<vector> #include<map> #include<queue> #include<stack> #include<cstdio> #include<string> #include<math.h> #include<algorithm> #define LL long long #define PI atan(1.0)*4 #define II __int64 #define DD double #define MAX 10010 #define mod 10003 #define INF 0x3f3f3f3f using namespace std; int main() { int n,m,a,b,i,j; while(scanf("%d%d%d",&n,&a,&b)!=EOF) { // printf("%d ",-5%3); int sum=0; if(b==0) sum=a; else if(b<0) { b=b%n; if(a+b<=0) sum=n+a+b; else sum=a+b; } else if(b>0) { b=b%n; if(a+b<=n) sum=a+b; else sum=a+b-n; } printf("%d ",sum); } return 0; }