古代先民认为,天下万物皆由五类元素组成,分别是金、木、水、火、土,彼此之间存在相生相克的关系。
相生关系为:木生火,火生土,土生金,金生水,水生木。
相克关系为:金克木,木克土,土克水,水克火,火克金。
本题就请你编写程序,判断任意一对给定的元素之间的关系。
输入格式:
输入在一行中给出一个正整数 N(≤10),随后 N 行,每行给出 2 个正整数 A 和 B,为两种元素的编号。这里假设金、木、水、火、土的编号顺次为 1、2、3、4、5。
输出格式:
对输入的每一对 A 和 B,如果 A 生 B,则输出 A sheng B;如果 A 克 B,则输出 A ke B。反之亦然。
输入样例:
2
4 2
5 3
输出样例:
2 sheng 4
5 ke 3
提示
该题目选自“拼题A 2021 跨年挑战赛"。
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
#include<bits/stdc++.h>
using namespace std;
int main(){
int t[10]={2,4,5,1,3,2}; //主要是这里利用数组把相生相克的关系记录下来
int k[10]={1,2,5,3,4,1};
int a;
cin>>a;
while(a--){
int n,m;
cin>>n>>m;
for(int i=0;i<6;i++){ //数组前后两个数代表两个元素相生相克的关系
if(t[i]==n&&t[i+1]==m){
printf("%d sheng %d\n",n,m);
}else if(t[i]==m&&t[i+1]==n){
printf("%d sheng %d\n",m,n);
}else if(k[i]==n&&k[i+1]==m){
printf("%d ke %d\n",n,m);
}else if(k[i]==m&&k[i+1]==n){
printf("%d ke %d\n",m,n);
}
}
}
return 0;
}