请问这个程序有什么问题?

循环相克令是一个两人玩的小游戏。

令词为“猎人、狗熊、枪”,两人同时说出令词,同时做出一个动作——猎人的动作是双手叉腰;狗熊的动作是双手搭在胸前;枪的动作是双手举起呈手枪状。

双方以此动作判定输赢,猎人赢枪、枪赢狗熊、狗熊赢猎人,动作相同则视为平局。

现在给定你一系列的动作组合,请你判断游戏结果。

输入格式

第一行包含整数 T
,表示共有 T
组测试数据。

接下来 T
行,每行包含两个字符串,表示一局游戏中两人做出的动作,字符串为 Hunter, Bear, Gun 中的一个,这三个单词分别代表猎人,狗熊和枪。

输出格式

如果第一个玩家赢了,则输出 Player1。

如果第二个玩家赢了,则输出 Player2。

如果平局,则输出 Tie。

数据范围

1≤N≤100

输入样例

3
Hunter Gun
Bear Bear
Hunter Bear
输出样例

Player1
Tie
Player2
void game(char ch1[8],char ch2[8])
{
if(ch1==”Hunter”&&ch2==”Gun”||ch1==”Gun”&&ch2==”Bear”||ch1==”Bear”&&ch2==”Hunter”)
printf(“Player1”);
else if(ch2==”Hunter”&&ch1==”Gun”||ch2==”Gun”&&ch1==”Bear”||ch2==”Bear”&&ch1==”Hunter”)
printf(“player2”);
else
printf(“Tie”);
return;
}
int main()
{
int T;
scanf(“%d”,&T);
int i;
char ch1[8],ch2[8];
for(i=1;i<=T;i++){
scanf(“%s %s”,ch1,ch2);
game(ch1,ch2);
}

return 0;
}


//合并字符串以减少判断情况 

#include<iostream>

using namespace std;

int main()
{
    int t;
    cin >> t;
    
    string p1, p2, p3;
    for (int i = 0; i < t; i ++)
    {
        cin >> p1 >>p2;
        p3 = p1 + p2;
        if (p1 == p2) cout << "Tie" <<endl;
        else if (p3 == "HunterGun" || p3 == "GunBear" || p3 == "BearHunter")
            cout << "Player1" << endl;
        else cout << "Player2" << endl;
    }
    
    
    
    
    
    return 0;
}