讨论
水题,只需要判断总分够不够以及是否有明显得分过多的队就可以了
但是比赛的时候一着急就没读完输入到底是怎么结束的,然后就疯狂的WA
所有队总分是N(N-1),因为完全图是N(N-1)/2条边,而每次比赛,都会产生2分,无论落在谁手里,而每个队只能和N-1个对手打,最多赢N-1场,得到2N-2分,超过这个数的都是不可能的
后来看了别人题解才发现这事
题解状态
124MS,1780K,653B,C++
题解代码
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
#define INF 0x3f3f3f3f
#define MAXN 20004
#define memset0(a) memset(a,0,sizeof(a))
int N, B[MAXN];
bool fun()
{
int sum = 0, overwin = 0;//总分 得分明显超出上限的队伍数
for (int p = 0; p < N; p++) {
scanf("%d", &B[p]);//input
sum += B[p];
overwin += B[p] > 2 * N - 2;
}
if (sum != N*(N - 1) || overwin)
return 0;
return 1;
}
int main(void)
{
//freopen("vs_cin.txt", "r", stdin);
//freopen("vs_cout.txt","w",stdout);
int times;
while (~scanf("%d", ×))//input
while (times--) {
scanf("%d", &N);//input
if (fun())
printf("T\n");//output
else
printf("F\n");//output
}
}
EOF