HDU - 5873

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5873
1.题目意思就是判断符不符合条件:总分n
(n-1),最高分2
(n-1)且一个,最低分0且一个,还有就是不能有最高分和最高分减一同时出现。比如5个队 8 7 3 1 1 答案应该是F,下面的也确实是F,但是不考虑这种情况也能够Accepted(我试过,应该是数据太水了吧)

2.另外T也要多组输入,导致错了后无从下手,以为题目的思路本就不是这么写的,坑!!!

#include <iostream>
#include <algorithm>
#include <stdio.h>
#include <string.h>
using namespace std;
#define max 100001
const int maxn = 1000;
char s[max];
int main()
{
    int a;
    int T,M;
    while(cin>>T){
    while(T--)
    {
        int f =1,s=0,sum=0,num=0;
        cin>>M;
        for(int i=1;i<=M;i++)
        {
            scanf("%d",&a);
            if(a > 2*(M-1))
            {
                f=0;
            }
            if(a>=2*(M-1)-1) num++;
            if(a==0) sum++;
            s = s + a;
        }
        int k;
        k = M*(M-1);
        if( s > k || s < k )
            f = 0;
        if(sum>=2) f=0;
        if(num>=2) f=0;
        if(f==0)
            printf("F\n");
        else
            printf("T\n");
    }
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/curiosity9/article/details/84326126
hdu