World Cup Gym - 101194L

Input file: Standard

Input Output file: Standard Ouptut

Time limit: 1 second

这是2016 ACM-ICPC Asia China-Final里面的一道水题,当时训练赛时做这道题思路不对,就没做出来。。

题目大意:四支球队进行循环赛,每两支队之间只进行一次比赛,一共进行6场,对于非平局:赢的队伍得3分,输的队伍得0分,对于平局:两只队伍各得1分。

现给出一种4只队伍的得分情况,判断会不会有这种情况出现:有的话如果你可以判断出6场比赛输赢或平的准确情况,输出Yes,不能输出No。不可能出现这种情况

的话输出Wrong Scoreboard。

思路:因为数据量较小,可以先枚举出所有可能的比赛情况得分,再判断就行了。(这么简单的思路我硬是没想到。。)

 

 1 #include <iostream>
 2 #include <algorithm>
 3 #include <cstring>
 4 using namespace std;
 5 int A[3]={3,1,0},B[3]={0,1,3};
 6 int visited[15][15][15][15]={0};
 7 void enu()
 8 {
 9     int x1,x2,x3,x4;
10     memset(visited,0,sizeof(visited));
11     for(int i=0;i<3;i++)
12         for(int j=0;j<3;j++)
13             for(int k=0;k<3;k++)
14                 for(int h=0;h<3;h++)
15                     for(int l=0;l<3;l++)
16                         for(int p=0;p<3;p++){
17                             x1=A[i]+A[j]+A[k];
18                             x2=B[i]+A[h]+A[l];
19                             x3=B[j]+B[h]+A[p];
20                             x4=B[k]+B[l]+B[p];
21                             visited[x1][x2][x3][x4]++;
22                         }
23 }
24 int main()
25 {
26     int T,n,cas=1,a,b,c,d;
27     cin>>T;
28     enu();
29     while(T--){
30         cin>>a>>b>>c>>d;
31         if(visited[a][b][c][d]>1)
32             cout<<"Case #"<<cas++<<": No"<<endl;
33         else if(visited[a][b][c][d]==1)
34             cout<<"Case #"<<cas++<<": Yes"<<endl;
35         else
36             cout<<"Case #"<<cas++<<": Wrong Scoreboard"<<endl;
37     }
38     return 0;
39 }

 

上一篇:实现透明不透并且和原standard shader效果一样但没有阴影而且可以在手机端用刚才发现一个bug就是在电脑端看使用这个shader的会有金属光泽来回变


下一篇:linux命令之echo