古代先民认为,天下万物皆由五类元素组成,分别是金、木、水、火、土,彼此之间存在相生相克的关系。 相生关系为:木生火,火生土,土生金,金生水,水生木。 相克关系为:金克木,木克土,土克水,水克火,火克金。 本题就请你编写程序,判断任意一对给定的元素之间的关系。 输入格式: 输入在一行中给出一个正整数 N(≤10),随后 N 行,每行给出 2 个正整数 A 和 B,为两种元素的编号。这里假设金、木、水、火、土的编号顺次为 1、2、3、4、5。 输出格式: 对输入的每一对 A 和 B,如果 A 生 B,则输出 A sheng B;如果 A 克 B,则输出 A ke B。反之亦然。
时间: 2023-02-23 16:29:28 浏览: 76
下面是可以实现这个需求的 Python 代码:
```
def judge(a, b):
if a == b:
return "A he B"
elif a + b == 6:
return "A sheng B"
elif a - b == 1 or b - a == 4:
return "A ke B"
else:
return "B ke A"
n = int(input().strip())
for i in range(n):
a, b = map(int, input().strip().split())
print(judge(a, b))
```
相关问题
.2 进阶题 - B 相生相克 分数 15 作者 陈越 单位 浙江大学 古代先民认为,天下万物皆由五类元素组成,分别是金、木、水、火、土,彼此之间存在相生相克的关系。 相生关系为:木生火,火生土,土生金,金生水,水生木。 相克关系为:金克木,木克土,土克水,水克火,火克金。 本题就请你编写程序,判断任意一对给定的元素之间的关系。 输入格式: 输入在一行中给出一个正整数 N(≤10),随后 N 行,每行给出 2 个正整数 A 和 B,为两种元素的编号。这里假设金、木、水、火、土的编号顺次为 1、2、3、4、5。 输出格式: 对输入的每一对 A 和 B,如果 A 生 B,则输出 A sheng B;如果 A 克 B,则输出 A ke B。反之亦然。
好的,那我来给你讲解一下这道题的思路。
首先,我们需要先建立一个五行相生相克的关系表,可以用二维数组来表示,如下所示:
```
int rel[6][6] = {
{0, 0, 0, 0, 0, 0},
{0, 0, 4, 1, 0, 2},
{0, 2, 0, 4, 1, 0},
{0, 0, 2, 0, 4, 1},
{0, 1, 0, 2, 0, 4},
{0, 4, 1, 0, 2, 0}
};
```
其中,rel[i][j] 表示第 i 个元素相对于第 j 个元素的关系,其中 0 表示无关系,1 表示相生,2 表示被相生,4 表示相克,8 表示被相克。例如,rel[2][4] = 1,表示木相对于土是生的关系。
接下来,我们读入每一对元素,判断它们之间的关系。如果 A 生 B,则输出 A sheng B;如果 A 克 B,则输出 A ke B。反之亦然。具体实现可以参考下面的代码: