链接: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;
}