题目:https://www.nowcoder.com/acm/contest/64/G
这道题主要是二维map的定义和使用。
#include<cstdio>
#include<iostream>
#include<set>
#include<cstring>
#include<string>
#include<stack>
#include<vector>
#include<map>
using namespace std;
map <string,map<string,int> >m;//两个>之间要空格
int n,alice,bob;
string s1,s2;
void init(){
m["Jin"]["Mu"]=m["Mu"]["Tu"]=m["Tu"]["Shui"]=m["Shui"]["Huo"]=m["Huo"]["Jin"]=1;
m["Mu"]["Jin"]=m["Tu"]["Mu"]=m["Shui"]["Tu"]=m["Huo"]["Shui"]=m["Jin"]["Huo"]=-1;
}
int main(){
while(scanf("%d",&n)!=EOF){
init();
alice=bob=0;
for(int i=0;i<n;i++){
cin>>s1>>s2;
if(m[s1][s2]==1)
alice+=3;
else if(m[s1][s2]==-1)
bob+=3;
else{
bob++;
alice++;
}
}
if(alice==bob)
cout<<"Draw"<<endl;
else if(alice>bob)
cout<<"Alice"<<endl;
else
cout<<"Bob"<<endl;
}
return 0;
}