【问题描述】
阿迪喜欢玩游戏。
这天,阿迪觉得传统的游戏都玩腻了,自己随手在草稿纸上画了一行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=0;
cin>>N>>M;
for(int i=0;i<M;i++)
{
cin>>a;
sum+=a;
}
sum+=1;//相当于从1开始走而不是走出第一步变为2
if((sum%(2*N-2))/(N)==0)
{
cout<<(sum%(2*N-2));
}
else
{
cout<<(2*N-sum%(2*N-2));
}
system("pause");
return 0;
}