HDU 5873 Football Games(竞赛图兰道定理)
2024-10-20 11:36:39
http://acm.hdu.edu.cn/showproblem.php?pid=5873
题意:
现在有比赛,所有队伍两两进行比赛,赢的积2分,输的积0分,如果平局的话就各自都积1分,现在给出每只队伍的得分情况,判断是否合法。
思路:
竞赛图中有关于得分序列这方面的知识,这里引用一下来自http://blog.csdn.net/a_crazy_czy/article/details/73611366博主的讲解。
那么,对于这道题目来说,首先对所有得分排个序,再依次处理即可,前i只队伍的得分情况必须得大于等于$i*(i-1)$,因为每次比赛都会使得总分+2分,而当i=n时,也就是判断到最后一支队伍时,必须要等于$n*(n-1)$。
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
typedef long long ll;
const int maxn=+; int n;
int a[maxn]; int main()
{
//freopen("in.txt","r",stdin);
int T;
while(~scanf("%d",&T))
{
while(T--)
{
bool flag=true;
scanf("%d",&n);
for(int i=;i<=n;i++) scanf("%d",&a[i]);
sort(a+,a+n+);
int sum=;
for(int i=;i<=n;i++)
{
sum+=a[i];
if(i<n)
{
if(sum<i*(i-)) {flag=false;break;}
}
else
{
if(sum!=i*(i-)) flag=false;
}
}
if(flag) puts("T");
else puts("F");
}
}
return ;
}
最新文章
- yii2实战教程之新手入门指南-简单博客管理系统
- <;2016-1-29>;
- mini2440 linuxi2c驱动
- 【HDOJ】1542 Atlantis
- MYSQL学习笔记3--mysql 2PC二阶段协义 与 日志闪回
- Qt5-MSVC2012-qDebug中文乱码解决方法
- Docker部署JavaWeb项目实战(转)
- Java初认识--环境搭建及基本数据类型
- 国内不能使用Google解决方案(不断更新与递增中...)
- c#无限循环线程如何正确退出
- JS嵌套循环的典型练习题
- hive问题: For direct MetaStore DB connections, we don&#39;t support retries at the client level
- windows2012服务器中安装php7+mysql5.7+apache2.4环境
- Win7 IIS配置
- matrix矩阵变换参数图形化详解
- OpenVPN 2.2.1 之后期维护
- C# WPF 用MediaElement控件实现视频循环播放
- 【RS】Local Low-Rank Matrix Approximation - LLORMA :局部低秩矩阵近似
- [.NET开发] NPOI导出
- Jackson工具类使用及配置指南、高性能配置(转)