小Byte和小Dance玩一种叫“开火车的”纸牌游戏,游戏规则如下:
1.初始给两人随机平分52张扑克牌,每个人26张;
2.小Byte先开始,将第一张牌放下;
3.随后两人轮流按序(按从第一张到最后一张的顺序出牌,手中牌的顺序不可以被打乱)放置扑克,后一张扑克压在前一张扑克上;
4.如果出现之前放下的某张扑克s和将要放下的扑克t点数相同,则当前玩家获得从s到t之间所有的牌(包括s和t这两张);
5.玩家手上26张牌都出完后,清点双方获得的牌数,牌数多的玩家获胜,若相同,则平局。
输入描述:
输入包括两行,每行26个数字,分别表示两位玩家初始被随机分配的点数,第一行为小byte分到的牌。
输出描述:
若平局,则输出"Draw",否则输出获胜玩家的名字(“Byte”或"Dance").
#!/usr/bin/env python
# -*- coding: utf-8 -*-
Byte
=
[
10
,
2
,
5
,
6
,
13
,
11
,
11
,
4
,
10
,
8
,
12
,
5
,
4
,
1
,
8
,
1
,
7
,
12
,
4
,
13
,
6
,
9
,
9
,
9
,
5
,
7
]
Dance
=
[
6
,
3
,
13
,
8
,
2
,
3
,
7
,
3
,
2
,
2
,
12
,
11
,
10
,
6
,
10
,
1
,
1
,
12
,
3
,
5
,
7
,
11
,
13
,
4
,
8
,
9
]
# Byte = raw_input()
# Dance = raw_input()
# Byte = int(Byte.split(' '))
# Dance = int(Dance.split(' '))
nu_Byte
=
0
# 统计
nu_Dance
=
0
i
=
0
common
=
[
]
for
j
in
Byte
:
if
j
not
in
common
:
common
.
append
(
j
)
else
:
index
=
common
.
index
(
j
)
# 找出此牌第一次出现的位置索引
current_Byte
=
len
(
common
)
-
index
# 计算Byte此次可以回收多少张牌
nu_Byte
+=
current_Byte
for
a
in
range
(
current_Byte
)
:
common
.
pop
(
)
# 删除Byte回收过的牌
if
Dance
[
i
]
not
in
common
:
common
.
append
(
Dance
[
i
]
)
i
+=
1
else
:
index
=
common
.
index
(
Dance
[
i
]
)
# 找出此牌第一次出现的位置索引
current_Dance
=
len
(
common
)
-
index
# 计算Dance此次可以回收多少张牌
nu_Dance
+=
current_Dance
for
b
in
range
(
current_Dance
)
:
common
.
pop
(
)
# 删除Dance回收过的牌
if
nu_Byte
==
nu_Dance
:
print
(
'Draw'
)
elif
nu_Byte
<
nu_Dance
:
print
(
'Dance'
)
else
:
print
(
'Byte'
)