牛客网 牛客练习赛7 A.骰子的游戏

A.骰⼦的游戏

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld

题目描述

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

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

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

 

输入描述:

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

输出描述:

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

输入

2
3 3 3 3 3 3
1 1 4 4 4 4
1 2 3 4 5 6
6 5 4 3 2 1

输出

Bob
Tie

说明

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

备注:

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

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

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

代码:

 1 #include<iostream>
 2 #include<cstring>
 3 #include<cstdio>
 4 #include<algorithm>
 5 #include<cmath>
 6 using namespace std;
 7 typedef long long ll;
 8 int a[10],b[10];
 9 int main(){
10     int t;
11     scanf("%d",&t);
12         while(t--){
13             for(int i=0;i<6;i++)
14                 scanf("%d",&a[i]);
15             for(int i=0;i<6;i++)
16                 scanf("%d",&b[i]);
17             int num=0,cnt=0;
18             for(int i=0;i<6;i++){
19                 for(int j=0;j<6;j++){
20                 if(a[i]>b[j])num++;
21                 if(a[i]<b[j])cnt++;
22                 }
23             }
24             if(num>cnt)printf("Alice
");
25             else if(num<cnt)printf("Bob
");
26             else printf("Tie
");
27         }
28     return 0;
29 }
原文地址:https://www.cnblogs.com/ZERO-/p/7954163.html