2018TYUT暑期ACM模拟赛(8)
​​​Chinese Zodiac HDU - 6213​​​
题意:给出两个代表生肖的,前者大于后者,两者相差多大,比如样例中的rooster-ox的值为2。就是减减加加的取模的。就是注意一下相等相差12.。

#include<iostream>
#include<cstring>
#include<string>
#include<map>
#include<cstdio>
using namespace std;
map<string,int> m;

int main()
{
m["rat"]=1;
m["ox"]=2;
m["tiger"]=3;
m["rabbit"]=4;
m["dragon"]=5;
m["snake"]=6;
m["horse"]=7;
m["sheep"]=8;
m["monkey"]=9;
m["rooster"]=10;
m["dog"]=11;
m["pig"]=12;
int t;
string a,b;
scanf("%d",&t);
while(t--)
{
cin>>a>>b;
if(a==b) printf("12\n");
else printf("%d\n",(m[b]-m[a]+12)%12);
}
return 0;
}