zoukankan      html  css  js  c++  java
  • 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 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取模,再讨论。

     1 #include <iostream>
     2 #include<algorithm>
     3 #include<cstdio>
     4 #include<cmath>
     5 using namespace std;
     6 
     7 int main()
     8 {
     9     int n,a,b;
    10     scanf("%d%d%d",&n,&a,&b);
    11     if(b>=0){
    12         b %= n;
    13         a = (a+b)%n;
    14         if(a == 0) printf("%d
    ",n);
    15        else printf("%d
    ",a);
    16     }
    17     else{
    18         b = abs(b);
    19         b %= n;
    20         if(b<a) printf("%d
    ",a-b);
    21         else if(b == a) printf("%d
    ",n);
    22         else{
    23             printf("%d
    ",n-b+a);
    24         }
    25     }
    26     return 0;
    27 }
    卷珠帘
  • 相关阅读:
    基本内置类型
    多维数组
    数组
    迭代器
    标准库类型 vector
    标准库类型 string
    运算符优先级表
    类型转换
    sizeof 和逗号运算符
    位运算符
  • 原文地址:https://www.cnblogs.com/littlepear/p/5340983.html
Copyright © 2011-2022 走看看