当前位置:首页 > C++目录 > 正文内容

【题解】小X玩游戏

亿万年的星光4年前 (2022-02-19)C++目录3400

【题目描述】

小X喜欢玩游戏。 
 这天,小X觉得传统的游戏都玩腻了,自己随手在草稿纸上画了一行N个格子作为棋盘, 制定了如下规则:格子从左到右依次编号为1到N,玩家初始位于格子1,初始前进方向为向右,游戏共进行M轮,第i轮玩家前进Ai格,若玩家到达格子N则改变前进方向为向左,若玩家到达格子1则改变前进方向为向右。 
小X想知道玩家最后会停在哪个格子,但这个游戏太漫长了,他已经玩得快睡着了,希望你帮帮他。

【输入描述】

第一行包含用一个空格隔开的两个整数N,M。 
接下来M行,第i行包含一个整数Ai。

【输出描述】

第一行包含一个整数,表示玩家最后停留的格子编号。

【样例输入】

3 2
2
3

【样例输出】

2

【提示】

样例说明
   玩家的路线为 1->2->3->2->1->2。

【数据范围】

  对于30%的数据,N=2,M≤10,Ai=1。
   对于60%的数据,N≤1000,M≤1000,Ai≤1000。
   对于 100%的数据,2≤N≤100000,1≤M≤100000,1≤Ai≤1000000000。

【题目分析】



#include <bits/stdc++.h>
using namespace std;

int main(){
	long long n,m,s,i,x,r;
	cin>>n>>m;
	s = 0;
	
	//m次移动
	for(i = 1;i <= m;i++){
		cin>>x;
		s = s + x; 
	}
	
	//去掉完整的若干来回,实际还需要走几个格子
	s = s % ((n - 1) * 2); 
	//如果是向右能走完
	if(s <= n - 1){
		r = 1 + s;
	} else{
		r = n - s % (n - 1);
	}
	cout<<r<<endl;
	
	return 0;
}



    扫描二维码推送至手机访问。

    版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

    分享给朋友:

    相关文章

    DEVC++中的断点调试

    DEVC++中的断点调试

    1.调试程序的两种方法编程的时候经常会遇到自己的输出结果跟标准结果或者预期的结果不一样,这个时候就要用到调试程序的功能。调试程序的目的有两个,一个是找出程序中的错误,另一个是监视变量的变化。2.DEV...

    【数论】二项式定理

    【数论】二项式定理

    一、基本概念上面这个式子就叫做二项式定理,又称牛顿二项式定理,该定理给出两个数之和的整数次幂诸如展开为类似项之和的恒等式。二项式定理可以推广到任意实数次幂,即广义二项式定理。 初中高中阶段比...

    指针(三):指针与函数

    1.交换的例子#include<iostream> #include<cstdio> #include<cstring> using namespa...

    CSP-J2021年普及组复赛T2——插入排序

    CSP-J2021年普及组复赛T2——插入排序

    【题目描述】插入排序是一种非常常见且简单的排序算法。小 Z 是一名大一的新生,今天 H 老 师刚刚在上课的时候讲了插入排序算法。 假设比较两个元素的时间为 O(1),则插入排序可以以 O(n 2...

    CSP-J2021年普及组复赛T4——小熊的果篮

    【题目描述】    小熊的水果店里摆放着一排 n 个水果。每个水果只可能是苹果或桔子,从左到右依 次用正整数 1、2、3、……、n 编号。连续排在一起的同一种...

    【C++图形化编程】小游戏——打砖块(1)

    【C++图形化编程】小游戏——打砖块(1)

    0.前言这篇文章我们尝试创建一个打砖块的小游戏。1.游戏框架根据我们前面做的一些游戏的框架,这个小游戏的框架也可以分为下面这样的框架。int main() { startup();&n...