题目名称 1646. [POI 2004]平板游戏
输入输出 gra.in/out
难度等级 ★★
时间限制 1000 ms (1 s)
内存限制 32 MiB
测试数据 22
题目来源 Gravatarcstdio 于2014-05-26加入
开放分组 全部用户
提交状态
分类标签
博弈论
分享题解
通过:6, 提交:16, 通过率:37.5%
GravatarChenyao2333 100 0.862 s 4.13 MiB C++
Gravatarmildark 100 0.883 s 4.13 MiB C++
Gravatarmildark 100 0.888 s 4.13 MiB C++
Gravatarcstdio 100 0.902 s 4.13 MiB C++
Gravatarthomount 100 0.974 s 15.55 MiB C++
GravatarFoolMike 100 2.063 s 4.12 MiB C++
Gravatardzyo 95 1.483 s 12.04 MiB C++
GravatarFoolMike 50 1.929 s 4.12 MiB C++
Gravatarthomount 45 0.831 s 15.55 MiB C++
Gravatarthomount 40 0.837 s 14.84 MiB C++
关于 平板游戏 的近10条评论(全部评论)
强行map加一个log……
智障Mike忘记了修改后相邻两层的数量都发生了变化……
GravatarFoolMike
2017-07-12 16:04 3楼
下划线'_'打成减号'-'也没有编译错误,论起名字的艺术。。。。。
GravatarChenyao2333
2014-10-05 21:17 2楼
真难……
POJ 1704是一个类似的例子
Gravatarcstdio
2014-05-29 22:40 1楼

1646. [POI 2004]平板游戏

★★   输入文件:gra.in   输出文件:gra.out   简单对比
时间限制:1 s   内存限制:32 MiB

【题目描述】

让我们考虑一个在1行m列矩形网格上的游戏。这张网格共有m格,从左到右被命名为1到m。网格上有n个棋子,每个都独占一格。没有棋子占据m号格。每回合如下:该回合进行移动的玩家任意选择一枚棋子,并且把它放到第一个编号更大的空格子中。两名玩家轮流进行移动。把棋子放在最后一格,也就是m号格子的玩家胜利。

下图给出了一个例子(m=7),现在玩家可以把棋子从2移动到4,从3移动到4或者从6移动到7.

我们说玩家的一个移动可以获胜,如果在此之后无论对手如何移动,他都能获胜。

写一个程序来完成以下任务:

·读入棋盘的规模和最初棋子的位置。

·计算在这种情况下先手可以获胜的不同移动方案数。

·输出结果。

【输入格式】

输入文件的第一行有两个空格隔开的整数m,n(2<=m<=10^9,1<=n<=10^6,n<m)。

第二行有n个递增整数,即最开始棋子的位置。这些整数由空格隔开。

【输出格式】

输出一行一个整数,即对于所给开局,先手可以获胜的不同移动方案数。

【样例输入】

输入样例1:

5 2

1 3


输入样例2:

5 2

2 3

【样例输出】

输出样例1:

1


输出样例2:

0

【来源】

POI 2003/2004 I stage Game