オフラインリアルタイムどう書く E19 の問題 - カード当てゲーム
オフラインリアルタイムどう書く E19 の問題です。
1からNまでのカードが2枚ずつある。 このカードは、奇数と偶数で裏に書いてある模様が違う。 これをシャッフルし、裏向きにして左から小さい順に2行に並べる。
並んでいるカードを当てよう。
入力
xxoxo,oooxo のような形式。
o は奇数、x は偶数、, は行の区切り。
つまり、この場合、1 ~ 5 までのカードが2枚ずつあり、
xxoxo
oooxo
のように並んでいるということ。
出力
2,2,3,4,5,1,1,3,4,5 のような形式。
数字を , で区切ったもの。行の区切りは不要。
候補が複数あれば、 1,1,2,2,5,3,3,4,4,5|3,3,4,4,5,1,1,2,2,5 のように | で区切る。
補足
不正な入力について考慮する必要はない。
実装ができた方は Qiitaの記事 のコメント欄からリンクを張っていただくと見つけやすくて助かります。
サンプルデータ
| # | 入力 | 期待 |
|---|---|---|
| 0 | xxoxo,oooxo | 2,2,3,4,5,1,1,3,4,5 |
| 1 | ooxxo,ooxxo | 1,1,2,2,5,3,3,4,4,5|3,3,4,4,5,1,1,2,2,5 |
| 2 | oxoxo,oxoxo | 1,2,3,4,5,1,2,3,4,5 |
| 3 | ooxoxx,oxxoxo | 1,3,4,5,6,6,1,2,2,3,4,5 |
| 4 | ooxxxx,ooxxoo | 1,1,2,2,6,6,3,3,4,4,5,5|3,3,4,4,6,6,1,1,2,2,5,5 |
| 5 | oxoxox,oxoxox | 1,2,3,4,5,6,1,2,3,4,5,6 |
| 6 | oxoxxxo,oxoxooo | 1,2,3,4,6,6,7,1,2,3,4,5,5,7 |
| 7 | oxooxxx,oxxoooo | 1,2,3,3,4,6,6,1,2,4,5,5,7,7 |
| 8 | oxoxxxo,oxoooxo | 1,2,3,4,4,6,7,1,2,3,5,5,6,7 |
| 9 | oxoxooox,oxoxoxxx | 1,2,3,4,5,7,7,8,1,2,3,4,5,6,6,8 |
| 10 | ooxoxxox,ooxxxoox | 3,3,4,5,6,6,7,8,1,1,2,2,4,5,7,8 |
| 11 | oxoxxxxx,oxoxoooo | 1,2,3,4,6,6,8,8,1,2,3,4,5,5,7,7 |
| 12 | oxoxooxxo,oxooxxoxo | 1,2,5,6,7,7,8,8,9,1,2,3,3,4,4,5,6,9 |
| 13 | oxoooooxo,oxxxoxxxo | 1,2,3,3,5,7,7,8,9,1,2,4,4,5,6,6,8,9 |
| 14 | oxoxoxxox,oxoxooxoo | 1,2,3,4,5,6,6,7,8,1,2,3,4,5,7,8,9,9 |
| 15 | oooxxxxoxo,xxooooxoxx | 1,1,3,4,4,6,6,7,8,9,2,2,3,5,5,7,8,9,10,10 |
| 16 | ooooxxxoxx,xxooxxxooo | 1,1,5,5,6,8,8,9,10,10,2,2,3,3,4,4,6,7,7,9 |
| 17 | xoxxoxxoxo,ooxoooxoxx | 2,3,4,4,5,6,6,7,8,9,1,1,2,3,5,7,8,9,10,10 |
| 18 | oxooxxoooxo,oxxxoxooxxo | 1,2,3,3,4,4,5,5,7,8,11,1,2,6,6,7,8,9,9,10,10,11 |
| 19 | oooxxxxoxoo,xxooooxooxx | 1,1,3,4,4,6,6,7,8,11,11,2,2,3,5,5,7,8,9,9,10,10 |
| 20 | ooooxxoxoxo,oxxxxooxoxo | 1,3,3,5,6,6,7,8,9,10,11,1,2,2,4,4,5,7,8,9,10,11 |
| 21 | ooooxoxooxox,xxoxxoxoxxox | 1,1,3,5,6,7,8,9,9,10,11,12,2,2,3,4,4,5,6,7,8,10,11,12 |
| 22 | ooxxoooooxox,ooxxoxxxxxox | 1,1,2,2,5,7,7,9,9,10,11,12,3,3,4,4,5,6,6,8,8,10,11,12|3,3,4,4,5,7,7,9,9,10,11,12,1,1,2,2,5,6,6,8,8,10,11,12 |
| 23 | xoxoxxooxoxx,ooxoxoxooxxo | 2,3,4,5,6,6,7,7,8,11,12,12,1,1,2,3,4,5,8,9,9,10,10,11|2,3,4,5,6,8,9,9,10,11,12,12,1,1,2,3,4,5,6,7,7,8,10,11 |
| 24 | oooooooooooo,xxxxxxxxxxxx | 1,1,3,3,5,5,7,7,9,9,11,11,2,2,4,4,6,6,8,8,10,10,12,12 |