牛客练习赛7-骰子的游戏(水)

来源:互联网 发布:双缝实验 知乎 编辑:程序博客网 时间:2024/06/03 23:39

题目描述

    在Alice和Bob面前的是两个骰子,上面分别写了六个数字。

    Alice和Bob轮流丢掷骰子,Alice选择第一个骰子,而Bob选择第二个,如果谁投掷出的数更大,谁就可以获胜。

    现在给定这两个骰子上的6个数字,你需要回答是Alice获胜几率更大,还是Bob获胜几率更大。(请注意获胜几率相同的情况)

输入描述:

第一行一个数T,表示数据个数。接下来的每一组数据一共有2行,每一行有6个正整数,第一行是第一个骰子上的6个数,第二行是第二个骰子上的6个数。

输出描述:

如果Alice获胜几率更大,你需要输出Alice;如果Bob获胜几率更大,你需要输出Bob;如果获胜几率一样大,你需要输出Tie。
示例1

输入

23 3 3 3 3 31 1 4 4 4 41 2 3 4 5 66 5 4 3 2 1

输出

BobTie

说明

第一个数据中,Alice有三分之一几率获胜,Bob有三分之二几率获胜;第二个数据中,Alice和Bob的骰子完全一致,所以获胜几率一样大。

备注:

对于30%的数据,1 ≤ T ≤ 10。

对于60%的数据,1 ≤ T ≤ 1000。

对于100%的数据,1 ≤ T ≤ 105,所有输入的数均 ≤ 107

#include<cstdio>#include<iostream>#include<algorithm>using namespace std;int a[10],b[10];int cna[10],cnb[10];int main(){int t;scanf("%d",&t);while(t--){for(int i=0;i<6;i++){scanf("%d",&a[i]);cna[i]=0;}for(int i=0;i<6;i++){scanf("%d",&b[i]);cnb[i]=0;}for(int i=0;i<6;i++) {for(int j=0;j<6;j++){if(a[i]>b[j])cna[i]++;if(b[i]>a[j])cnb[i]++;}}int sum1=0;int sum2=0;for(int i=0;i<6;i++){sum1+=cna[i];sum2+=cnb[i];}if(sum1>sum2) puts("Alice");else if(sum1<sum2) puts("Bob");else puts("Tie");}return 0;}