今天是集训第二天,模拟赛4题,一题都没有对。
题目如下:
小W吃完了饭,想要在小区里散步!小W住的小区的房子排布非常奇怪:整个小区的房子绕成了一个环形,在顺时针方向上依次编号为1,2,···, n。小W住在第x号楼,散步时,他会绕着这个环逆时针散步。由于这些楼房都没有标记是第几栋,小W走了一会就找不到自己在第几栋楼了,只记得自己逆时针经过y栋楼(开始时自己那栋楼不算经过)。你可以帮小W算算他现在在第几号楼吗
输入格式
输入仅一行,为三个正整数n, x, y,含义如题意所示:5 2 2
输出格式
输出一行一个正整数,表示小W散步后位于第几号楼: 5
小W从2号楼开始逆时针经过两栋楼,相当于走了两步,到达了5号楼
我一开始是这样写的:
#include <bits/stdc++.h>
using namespace std;
long long y,last=0;
int n,x;
int main()
{
cin >> n >> x >> y;
last=x-y;
while(last<=0)
{
last=last+n;
}
cout << last;
return 0;
}
但是,这个用while循环,超时了。
T2
题目如下: