zoukankan      html  css  js  c++  java
  • 10.29训练赛第一场B题

    题目大意:有n个队伍之间比赛,每两个队伍之间都有一场比赛,因此一共有n(n-1) / 2场比赛,但是这里丢失了一场比赛的记录,现在让你通过n(n-1) /2 -1场仍然存在的比赛记录来判断丢失的那条比赛记录 是什么。

    解题报告:因为每两个队伍之间都有一场比赛,所以每个队伍都应该有n-1次比赛,所以只要统计存在 的记录里面各个队伍出现的次数就可以了,判断出现次数不足n-1次的两个队伍便是丢失记录上的那两个队伍。然后统计一下判断出来的这两个队伍的胜利的次数,次数多的说明也是这场比赛胜利的队伍。

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<iostream>
     4 #include<algorithm>
     5 #include<cmath>
     6 using namespace std;
     7 
     8 int A[55],B[55];
     9 
    10 int main()
    11 {
    12     int n;
    13     while(scanf("%d",&n)!=EOF)
    14     {
    15         int x,y,num = n * (n - 1) / 2 -1;
    16         memset(A,0,sizeof(A));
    17         memset(B,0,sizeof(B));
    18         while(num--)
    19         {
    20             scanf("%d%d",&x,&y);
    21             A[x]++;
    22             B[y]++;
    23         }
    24         int ans[2],f = 0;
    25         for(int i = 1;i <= n;++i)
    26         {
    27             if((A[i]+B[i]) < (n-1))
    28             ans[f++] = i;
    29             if(f == 2) break;
    30         }
    31         if(A[ans[0]] < A[ans[1]]) swap(ans[0],ans[1]);
    32         printf("%d %d
    ",ans[0],ans[1]);
    33     }
    34     return 0;    
    35 }
    View Code
  • 相关阅读:
    企业要主动淘汰五种人
    人力管理的核心:选、用、育、留
    张瑞敏:正确路线确定后,干部就是决定因素
    西点军校如何培养学员
    董事长如何找合适的搭档
    企业家何时应该放权
    会计基础视频
    同样劳动,为何结果不同?
    什么是真正的工作到位
    中国的人口和经济周期
  • 原文地址:https://www.cnblogs.com/xiaxiaosheng/p/3404223.html
Copyright © 2011-2022 走看看