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

【题解】小X玩游戏

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

【题目描述】

小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;
}



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

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

    分享给朋友:

    相关文章

    【数论】同余定理与同余方程

    定义同余定理是数论中的一个重要概念。它的定义是这样的:给定一个整数m,如果两个整数a和b满足(a-b)能够被m整除,即(a-b)/m 得到一个整数,那么就成整数a和b对模m同余,记作a≡b(mod m...

    最小生成树—基本概念

    一、最小生成树核心概念1. 基本定义一个带权无向连通图的最小生成树,是指从该图中选择若干条边,构成一个包含图中所有顶点的树结构(无环、连通),且所有选中边的权值之和最小。2. 关键性质生成树的本质:包...

    编写第一个C++程序

    编写第一个C++程序

    前面的文章介绍了Dev-C++的下载安装:【入门篇】>>> DEVC++下载、安装、简单使用 - 青少年编程知识记录 (codecoming.com)今天讲一下如何使用Dev-C++...

    编程与编程语言

    编程与编程语言

    一、编程是什么编程就像给电脑写“魔法指令”!电脑很聪明,但它不会自己思考,需要你告诉它做什么和怎么做。比如,你想让电脑画一只小猫、做一个游戏,或者解一道数学题,都需要用编程语言写下规则。举个栗子🌰:如...

    完全背包问题

    1. 问题定义完全背包问题是经典的动态规划问题之一。它的基本描述如下:有一个容量为 V 的背包。有 N 种物品,每种物品有无限个可用。第 i ...

    【图】并查集—基本概念

    【图】并查集—基本概念

    1.引入    对于一个集合S={a1, a2, …, an-1, an},我们还可以对集合S进一步划分: S1,S2,…,Sm-1,Sm,我们希望能够快速确定...