HDU 6213 Chinese Zodiac 模拟/水题/生肖

Posted Roni

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU 6213 Chinese Zodiac 模拟/水题/生肖相关的知识,希望对你有一定的参考价值。

【题意】:一个女的找了一个比自己小的丈夫,没有人知道他们的年领差,但是知道他们的十二生肖。问女的至少比男的大多少岁。

【分析】如果两人属相相同,肯定大一轮,就是12.

如果女的属相比男的靠后,则就是12-(女的属相-男的属相)

如果女的属相比男的靠前,则就是(男的属相-女的属相)

【代码】:

15MS 1948K

 

技术分享
#include <iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<map>
#include<set>
#include<string>
using namespace std;

int main()
{
    int t;
    string f,m;
    cin>>t;
    map<string,int> mp;
/*rat, ox, tiger, rabbit, dragon, snake, horse, sheep, monkey, rooster, dog and pig.*/
    while(t--)
    {
        cin>>f>>m;
        mp["rat"]=1;
        mp["ox"]=2;
        mp["tiger"]=3;
        mp["rabbit"]=4;
        mp["dragon"]=5;
        mp["snake"]=6;
        mp["horse"]=7;
        mp["sheep"]=8;
        mp["monkey"]=9;
        mp["rooster"]=10;
        mp["dog"]=11;
        mp[" pig"]=12;
        if(mp[f]==mp[m]) cout<<12<<endl;
        else if(mp[f]<mp[m]) cout<<abs(mp[f]-mp[m])<<endl;
        else cout<<12-abs(mp[f]-mp[m])<<endl;
    }
    return 0;
}
View Code

 

以上是关于HDU 6213 Chinese Zodiac 模拟/水题/生肖的主要内容,如果未能解决你的问题,请参考以下文章

hdu 2842 Chinese Rings

HDU——1788 Chinese remainder theorem again

HDU2842—Chinese Rings

HDU2842-Chinese Rings(递推+矩阵高速幂)

HDU1788 Chinese remainder theorem again中国剩余定理

HDU 1788: Chinese remainder theorem again