时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld
空间限制: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 }