博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 2454 Degree Sequence of Graph G
阅读量:4635 次
发布时间:2019-06-09

本文共 1247 字,大约阅读时间需要 4 分钟。

  模拟,利用图的性质,将当前度数最大的点(假设度数为d(x))删除的同时,把紧接着的前d(x)大的度数分别减一。如果最终可以全部相消,那么就是一个简单图,否则不是。

View Code
1 #include 
2 #include
3 #include
4 #include
5 #include
6 7 #define REP(i, n) for (int i = 0; i < (n); i++) 8 using namespace std; 9 10 multiset
cnt;11 stack
tmp;12 13 int main() {14 int T, n, x;15 cin >> T;16 while (T-- && cin >> n) {17 int sum = 0;18 cnt.clear();19 REP(i, n) {20 cin >> x;21 if (x) cnt.insert(x);22 sum += x;23 }24 if ((sum & 1) || *cnt.rbegin() >= n) {25 puts("no");26 } else {27 while (true) {28 if (cnt.size() == 0) {29 puts("yes");30 break;31 }32 if (cnt.size() == 1) {33 puts("no");34 break;35 }36 int mx = *cnt.rbegin();37 cnt.erase(cnt.find(mx));38 if (mx > cnt.size()) {39 puts("no");40 break;41 }42 int t;43 while (!tmp.empty()) tmp.pop();44 REP(i, mx) {45 t = *cnt.rbegin();46 if (t > 1) tmp.push(t - 1);47 cnt.erase(cnt.find(t));48 }49 while (!tmp.empty()) {50 cnt.insert(tmp.top());51 tmp.pop();52 }53 }54 }55 }56 return 0;57 }

 

——written by Lyon

转载于:https://www.cnblogs.com/LyonLys/archive/2013/05/01/hdu_2454_Lyon.html

你可能感兴趣的文章
第五次作业
查看>>
织梦教程
查看>>
杭电多校 Harvest of Apples 莫队
查看>>
java 第11次作业:你能看懂就说明你理解了——this关键字
查看>>
metric learning -- 马氏距离与欧氏距离
查看>>
C/C++心得-结构体
查看>>
快速解决 GRADLE 项目下载 gradle-*-all.zip 慢的问题
查看>>
【第二章】 IoC 之 2.1 IoC基础 ——跟我学Spring3
查看>>
函数名作为参数传递
查看>>
apt-get for ubuntu 工具简介
查看>>
数值计算算法-多项式插值算法的实现与分析
查看>>
day8-异常处理与网络编程
查看>>
杭州某知名xxxx公司急招大量java以及大数据开发工程师
查看>>
[转]char * 和字符数组
查看>>
io流中的txt文件编码更改
查看>>
百练-16年9月推免-B题-字符串判等
查看>>
ubuntu 软件包降级
查看>>
PHP 函数截图 哈哈哈
查看>>
1044. Shopping in Mars
查看>>
秒懂数据类型的真谛—Python基础前传(4)
查看>>