solution.md 1.2 KB
Newer Older
每日一练社区's avatar
每日一练社区 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
# 取球博弈
#### 问题描述
两个人玩取球的游戏。  
一共有N个球,每人轮流取球,每次可取集合{n1,n2,n3}中的任何一个数目。  
如果无法继续取球,则游戏结束。此时,持有奇数个球的一方获胜。如果两人都是奇数,则为平局。  
假设双方都采用最聪明的取法,第一个取球的人一定能赢吗?  
试编程解决这个问题。  

#### 输入
第一行3个正整数n1 n2 n3,空格分开,表示每次可取的数目 (0<n1,n2,n3<100)  
第二行5个正整数x1 x2 … x5,空格分开,表示5局的初始球数(0<xi<1000)  

#### 输出
一行5个字符,空格分开。分别表示每局先取球的人能否获胜。  
能获胜则输出+,  
次之,如有办法逼平对手,输出0,  
无论如何都会输,则输出 -  

#### 输入例子 1
```
1 2 3
1 2 3 4 5
```
#### 输出例子 1
```
+ 0 + 0 -
```
#### 输入例子 2
```
1 4 5
10 11 12 13 15
```
#### 输出例子 2
```
0 - 0 + +
```
#### 输入例子 3
```
2 3 5
7 8 9 10 11
```
#### 输出例子 3
```
+ 0 0 0 0
```

## aop
### before
```cpp

```
### after
```cpp

```

## 答案
```cpp

```
## 选项

### A
```cpp

```

### B
```cpp

```

### C
```cpp

```