Football Games HDU - 5873

2018TYUT暑期ACM模拟赛(5)
Football Games HDU - 5873
题意:足球比赛,分为n组,每组给出每个队的积分,每队之间都会有一场比赛。问所给积分是对是错。
思路:两个约束条件,首先最大的得分不会超过2*(n-1),总和不会超过n*(n-1)。个人认为这两个是不对的(例如样例:0 0 6 6)但是,过了emmmmmmmmmm

#include<iostream>
#include<cstdio>
using namespace std;
typedef long long ll;
const int maxn=20000+10;
int b[maxn];
int main()
{
    int m,n;
    while(scanf("%d",&m)!=EOF)
    {
        while(m--)
        {
            scanf("%d",&n);
            bool flag=0;
            int sum=0;
            for(int i=0;i<n;i++)
            {
                scanf("%d",&b[i]);
                if(2*(n-1)<b[i]) flag=1;//最大值固定
                sum+=b[i];
            }
            if(sum!=(n-1)*n) flag=1;//总分固定
            if(flag) printf("F\n");
            else printf("T\n");
        }
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/miranda_ymz/article/details/81158491