2129 - 十点半

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

这里的十点半可不是指的是时间,是一种扑克牌的游戏。为了简化题目难度,这里的游戏规则为:一副扑克牌除去大小王,每人发两张扑克牌,两张牌的点数加起来为这个人的点数。其中,10点半>10点>9点半>....>1点>0点半>0点(0点指的是大于十点半的点数,例如给出的两张牌是5和9,加起来点数是14点,大于10点半,按0点算)。
点牌:A、2、3、4、5、6、7、9、10,其中A为1点其他牌为本身的点数(输入时,用1代表A)。
人牌:J、Q、K被称为“人牌”,都算做半点(输入时,用11,12,13代表J、Q、K)。
现在A 和 B两个人正在玩十点半游戏,想找个人来帮他们判断谁谁输谁赢,如果点数相同则为平局。聪明的你赶紧帮帮他们吧。

题目输入

有多组输入数据,每组数据有四个整数d1,d2,d3,d4(1<=d1,d2,d3,d4<=13),d1,d2代表A的牌,d3,d4代表B的牌。

题目输出

如果A的点数大于B的点数,则输出1,如果点数相同,则输出0,否则输出-1。每组输出占一行。

输入/输出样例

输入格式

1 11 2 13
2 9 4 9

输出格式

-1
0

C语言解答

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

void testData() {
    int i, j, d;
    for( i = 0; i < 1000; ++i ) {
        for( j = 0; j < 3; ++j ) {
            d = rand() % 13 + 1;
            printf("%d ", d);
        }
        printf("%d\n", rand() % 13 + 1);
    }
}

int main() {
    //freopen("test.in", "r", stdin);
    //freopen("test.out", "w", stdout);
    //srand((unsigned)time(0));
    //testData();
    int d1, d2, d3, d4;
    while( scanf("%d%d%d%d", &d1, &d2, &d3, &d4) != EOF ) {
        double a = 0, b = 0;
        a += d1 > 10 ? 0.5 : d1;
        a += d2 > 10 ? 0.5 : d2;
        a = a > 10.5 ? 0 : a;
        b += d3 > 10 ? 0.5 : d3;
        b += d4 > 10 ? 0.5 : d4;
        b = b > 10.5 ? 0 : b;
        if( a > b ) puts("1");
        else if( a == b ) puts("0");
        else puts("-1");
    }
    return 0;
}

C++解答

#include"stdio.h"
#include"iostream"
using namespace std;
int main()
{
    //freopen("2.txt","r",stdin);
    //freopen("3.txt","w",stdout);
    double d1,d2,d3,d4;
    while(cin>>d1>>d2>>d3>>d4)
    {
        double a,b;
        d1 = d1 > 10.5 ? 0.5:d1;
        d2 = d2 > 10.5 ? 0.5:d2;
        d3 = d3 > 10.5 ? 0.5:d3;
        d4 = d4 > 10.5 ? 0.5:d4;
        a= (d1 + d2) > 10.5 ? 0.5:(d1 + d2);
        b = (d3 + d4) > 10.5 ? 0.5:(d3 + d4);
        //cout<<d1<<" "<<d2<<" "<<d3<<" "<<d4<<" "<<a<<" " <<b<<endl;
        if(a > b)
        cout<<1 <<endl;
        else if(a < b)
        cout<<-1 <<endl;
        else
        cout<<0<<endl;

    }
    return 0;
}
/*#include"stdio.h"
int main()
{
    //freopen("test.in","r",stdin);
    //freopen("test.out","w",stdout);
    int n;
    while(scanf("%d",&n) != EOF)
    {
        int i,j;
        for(i = 0; i < n; i++)
        {
            for(j = 0; j < n; j++)
            {
                if(i == 0 || i == (n-1))
                printf("*");
                else
                {
                    if(j == 0 || j == (n-1))
                    printf("*");
                    else
                    printf(" ");
                }
            }
            printf("\n");
        }
    }
    return 0;
}*/