练习三 控制结构(强化)编程题12. 阿迪玩游戏

【问题描述】

阿迪喜欢玩游戏。

这天,阿迪觉得传统的游戏都玩腻了,自己随手在草稿纸上画了一行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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值