握手

Time Limit: 2000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others)
Submit Status

一群人参加了一次聚会,其中有一些人是好朋友。一对朋友见面后握手且仅握一次手,并且每个人不会和自己握手(废话!)。现在告诉你每个人一共握了几次手,请你判断是否存在一种朋友关系满足每个人的握手数。

Input

输入多组数据,第一行一个数T,表述数据组数。每组数据第一行输入一个数n,表示有n个人参加了聚会,下一行有n个数,di到dn ,di表示第i个人的握手数。 (1≤n≤105 ,输入的所有d之和不超过5×105)

Output

存在这种朋友关系输出YES,反之NO

Sample input and output

Sample Input Sample Output
3
3
0 1 1
3
2 2 2
3
1 1 1
YES
YES
NO

Source

2014 UESTC Training for Graph Theory
 
解题报告:
 即判断是否可图利用Havel-Hakimi定理即可,具体可百度...
 因为p的和不超过5 * 1e5 ,直接暴力模拟即可
 
#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <set>
#include <vector>
using namespace std;
const int maxn = 1e5 + ;
int d[maxn];
multiset<int,greater<int> >s;
vector<int>temp; int main(int argc,char *argv[])
{
int Case;
scanf("%d",&Case);
while(Case--)
{
int n;
scanf("%d",&n);
s.clear();
for(int i = ; i <= n ; ++ i)
{
int u;
scanf("%d",&u);
s.insert(u);
}
int ans = ;
for(int i = ; i <= n ; ++ i)
{
set<int>::iterator it = s.begin();
if (*it >= s.size() || *it < )
{
ans = ;
break;
}
int tot = *it;
temp.clear();
s.erase(it);
while(tot)
{
it = s.begin();
temp.push_back((*it)-);
tot--;
s.erase(it);
}
for(int j = ; j < temp.size() ; ++ j)
s.insert(temp[j]);
}
if (ans)
printf("YES\n");
else
printf("NO\n");
}
return ;
}

最新文章

  1. 图标字体 VS 雪碧图——图标字体应用实践
  2. MFC之进度条CProgressCtrl
  3. 【iOS】WebView加载HTML图片大小自适应与文章自动换行
  4. 饿了么 openapi demo
  5. Node.js在不同平台的安装方法步骤详解
  6. 自学Python一 迷茫中的开端!
  7. Rapha&#235;l 是一个小型的 JavaScript 库,用来简化在页面上显示向量图的工作。你可以用它在页面上绘制各种图表、并进行图片的剪切、旋转等操作。
  8. SQL Server批量更新数据
  9. 设置Activity显示和关闭时的动画效果
  10. 无法在web服务器上启动调试,此项目在使用一个被配置为使用特定IP地址的网站。请在项目URL中指定计算机名称。
  11. Hibernate在自由状态和持久的状态转变
  12. Bate敏捷冲刺每日报告--day5
  13. chown语法
  14. P2569 股票交易
  15. SpringBootTest单元测试实战、SpringBoot测试进阶高级篇之MockMvc讲解
  16. rsync的man手册(未完成)
  17. 转 qInstallMsgHandler实现日志输出
  18. java-学习2
  19. MapGIS10.3新功能
  20. 简述serializable和transient关键字作用

热门文章

  1. opencart修改后台文件夹名
  2. MCM1988 问题B_lingo_装货问题
  3. Java异步调用Future对象
  4. iTunes 重新提交代码步骤
  5. Apache POI组件操作Excel,制作报表(二)
  6. AOP的实现原理——动态代理
  7. PHP连接sql server 2005环境配置
  8. mysql免安装版配置与使用方法
  9. 函数内部用setTimeout()调用自身函数相当于setInterval()
  10. POJ 2455 Secret Milking Machine (二分 + 最大流)