题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6213
题目意思:
一个女的找了一个比自己小的丈夫,没有人知道他们的年领差,但是知道他们的十二生肖。
问女的至少比男的大多少岁。
如果两人属相相同,肯定大一轮,就是12.
如果女的属相比男的靠后,则就是12-(女的属相-男的属相)
如果女的属相比男的靠前,则就是(男的属相-女的属相)
#include<iostream>
#include<string>
#include<map>
#include<cmath>
using namespace std;
int main()
{
map<string,int>m;
int a,b,c,d;
string n,s;
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;
cin>>a;
b=12;
while(a--)
{
cin>>s>>n;
if(m[s]==m[n]) ///生肖一样,两人至少差一轮。
cout<<b<<endl;
else if(m[s]>m[n])
cout<<b-abs(m[s]-m[n])<<endl;
else
cout<<abs(m[s]-m[n])<<endl;
}
return 0;
}