码迷,mamicode.com
首页 > 其他好文 > 详细

csu 1577 Dice Game (博弈)

时间:2015-05-05 23:28:19      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:

题意:有两个人 每个人可以撒两个骰子 给出每个骰子的最大和最小值

        谁撒出的数值和大谁获胜 

思路: 把两个人可能的值区间算出 因为是均匀分布

        所以两人重叠的区间胜率相同 那么 只需计算谁获胜的区间大即可得出结果

 

#include<cstdio>
#include<iostream>
#include<cstring>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>
#include<stdlib.h>
#include<algorithm>
using namespace std;
int dir4[][2]={{0,1},{1,0},{0,-1},{-1,0}};
int dir8[][2]={{0,1},{1,1},{1,0},{1,-1},{0,-1},{-1,-1},{-1,0},{-1,1}};
int main()
{
    int a1,b1,a2,b2,A1,B1,A2,B2;
    while(scanf("%d%d%d%d%d%d%d%d",&a1,&b1,&a2,&b2,&A1,&B1,&A2,&B2)!=EOF)
    {
        int minn1=a1+a2,maxn1=b1+b2,minn2=A1+A2,maxn2=B1+B2;
        //printf("%d %d %d %d",minn1,maxn1,minn2,maxn2);
        if(maxn2<=minn1 || maxn1<=minn2)
        {
            //printf("1...\n");
            if(maxn2<=minn1) printf("Gunnar\n");
            else printf("Emma\n");
        }
        else if(minn1==minn2 && maxn1==maxn2)
        {
           // printf("2...\n");
            printf("Tie\n");
            //continue;
        }
        else if((minn2<=maxn1&&minn2>=minn1&&maxn2>=maxn1) || (minn1<=maxn2&&minn2<=minn1&&maxn1>=maxn2))
        {
            //printf("3...\n");
            if(minn2<=maxn1&&minn2>=minn1&&maxn2>=maxn1) printf("Emma\n");
            else printf("Gunnar\n");
        }
        else if((minn1>=minn2&&maxn2>=maxn1) || (minn2>=minn1&&maxn2<=maxn1))
        {
            //printf("%d %d %d %d",minn1,maxn1,minn2,maxn2);
            if(minn1>=minn2&&maxn2>=maxn1)
            {
                int len1=minn1-minn2;
                int len2=maxn2-maxn1;
                if(len2>len1) printf("Emma\n");
                else if(len1==len2) printf("Tie\n");
                else printf("Gunnar\n");
            }
            else
            {
                int len1=minn2-minn1;
                int len2=maxn1-maxn2;
                if(len2>len1) printf("Gunnar\n");
                else if(len1==len2) printf("Tie\n");
                else printf("Emma\n");
            }
        }
    }
    return 0;
}

  

csu 1577 Dice Game (博弈)

标签:

原文地址:http://www.cnblogs.com/sola1994/p/4480337.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!