【问题描述】
阿迪喜欢玩游戏。
这天,阿迪觉得传统的游戏都玩腻了,自己随手在草稿纸上画了一行N(N>0)个格子作为棋盘, 制定了如下规则:格子从左到右依次编号为1到N,玩家初始位于格子1,初始前进方向为向右,游戏共进行M轮,第i轮玩家前进Ai(Ai>=0)格,若玩家到达格子N则改变前进方向为向左,若玩家到达格子1则改变前进方向为向右。
阿迪想知道玩家最后会停在哪个格子,但这个游戏太漫长了,他已经玩得快睡着了,希望你帮帮他。
【输入形式】
第一行包含用一个空格隔开的两个整数N,M。
接下来M行,第i行包含一个整数Ai。
【输出形式】
第一行包含一个整数,表示玩家最后停留的格子编号。
【样例输入】
3 2 2 3
【样例输出】
2
【样例说明】
如果N为1,则玩家不移动。如果Ai为0则玩家站在原地。
#include <iostream>
using namespace std;
int main(){
int n,m;
int a,sum=1;
cin>>n>>m;
for(int i=0;i<m;i++){
cin>>a;
sum+=a;
}
if((sum%(2*n-2))/n==0){
cout<<(sum%(2*n-2));
}
else{
cout<<(2*n-sum%(2*n-2));
}
return 0;
}