最新消息:680元/半年,推荐全网最具性价比的一站式编程学习平台码丁实验室

信息学奥赛题库- S-Nim

C++ 少儿编程 1158浏览 0评论

友情提示:680元/半年,儿童学编程,就上码丁实验室

【题目描述】

原题来自:HDU 1536

两个人玩游戏,规则是有 $n$ 堆石子,分别有 $a_1,a_2,cdots ,a_n$ 颗石头,每次从一堆石子中取一些石子,但是可取的石子数是规定了的,必须是 ${s_1,s_2,cdots ,s_k}$ 中的一个,谁无法操作就输。

【输入】

多组数据。

对于每组数据,第一行是有一个 $k$,接下来有 $k$ 个数,分别为 $s_1,s_2,cdots ,s_k$ ;

第二行有一个数 $m$,表示会给出 $m$ 个局面;

接下来的 $m$ 行,先是一个 $n$,然后有 $n$ 个数,分别为 $a_1,a_2,cdots ,a_n$ 。

若 $k=0$,表示数据结束。

【输出】

对于每组数据,输出一行 $m$ 个字符组成的字符串,分别表示该组数据中的 $n$ 个局面是必胜态还是必败态,必胜态用 $W$ 表示,必败态用 $L$ 表示。

【输入样例】

2 2 5
3
2 5 12
3 2 4 7
4 2 3 7 12
5 1 2 3 4 5
3
2 5 12
3 2 4 7
4 2 3 7 12
0

【输出样例】

LWW
WWL

【提示】

数据范围与提示:

对于全部数据,$0 < n,m,k≤100,0 < s_i , a_i ≤10^4$ 。

您必须 登录 才能发表评论!