题目名称 | 1645. [UVa 1378] 有趣的石子游戏 |
---|---|
输入输出 | afunnystonegame.in/out |
难度等级 | ★★☆ |
时间限制 | 1000 ms (1 s) |
内存限制 | 256 MiB |
测试数据 | 10 |
题目来源 | cstdio 于2014-05-26加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:5, 提交:9, 通过率:55.56% | ||||
ztx | 100 | 0.012 s | 0.29 MiB | C++ |
new ioer | 100 | 0.013 s | 0.29 MiB | C++ |
FoolMike | 100 | 0.013 s | 1.43 MiB | C++ |
cstdio | 100 | 0.017 s | 0.32 MiB | C++ |
zys | 100 | 0.089 s | 0.31 MiB | C++ |
zys | 40 | 0.030 s | 0.24 MiB | C++ |
ztx | 0 | 0.010 s | 0.26 MiB | C++ |
ztx | 0 | 0.011 s | 0.29 MiB | C++ |
zys | 0 | 0.040 s | 0.26 MiB | C++ |
关于 有趣的石子游戏 的近10条评论(全部评论) |
---|
afunnystonegame.in
输出文件:afunnystonegame.out
简单对比有趣的石子游戏来了!有n堆石子,命名为0,1,2,...,n-1。两名玩家轮流捡石子。每一轮游戏,每名玩家选择三堆石子i,j,k(i<j,j<=k并且i中至少有一枚石子)。然后,这名玩家从第i堆中拿走一枚石子,并向第j堆和第k堆中各放入一枚石子。(如果j=k,就意味着向第j堆中放两枚石子)。无法按规则操作的玩家就输了。
David是先手并且他希望赢。你能写一个程序帮助他吗?
石子堆数n不超过23.每一堆的石子数不超过1000.假设对手非常聪明,会按照最佳方式操作。
输入包含多组数据。
每组数据有两行。第一行有一个正整数n(1<=n<=23),表示石子堆数。第二行有n个空格隔开的非负整数S0,...,Sn-1(0<=Si<=1000),代表第0堆到第n-1堆的石子数量。
输入结束标志为一行一个0.
对每组数据,按如下格式输出一行“Game t: i j k”。其中t是数据组数,i,j,k代表如果David想赢,他应该在第一步选择的三堆石子。如果有多组i,j,k,输出字典序最小的一组。如果他无法取胜,则i,j,k都是-1.
4
1 0 1 100
3
1 0 5
2
2 1
0
Game 1: 0 2 3
Game 2: 0 1 1
Game 3: -1 -1 -1
ACM ICPC 2006 Asia Regional Contest,Beijing: A Funny Stone Game