贪心——HDU 5813 ( 2016 Multi-University Training Contest 7 1005 )
2016-08-09 21:21
441 查看
题目链接:
http://acm.hdu.edu.cn/showproblem.php?pid=5813
分析:
N代表N个城市,每个城市要求只与Ai个城市相连接,且最后的路不能成环。若满足就输出Yes和每条路否则输出NO
题解:
先把给出的要求连接城市数排序,然后遍历一遍,若Ai大于i-1那么不成立,再遍历一遍,每个城市只连接它前面的城市
参考代码:
http://acm.hdu.edu.cn/showproblem.php?pid=5813
分析:
N代表N个城市,每个城市要求只与Ai个城市相连接,且最后的路不能成环。若满足就输出Yes和每条路否则输出NO
题解:
先把给出的要求连接城市数排序,然后遍历一遍,若Ai大于i-1那么不成立,再遍历一遍,每个城市只连接它前面的城市
参考代码:
#include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> #include <queue> #include <map> #include <set> #include <vector> #include <list> #define LL long long #define eps 1e-8 #define maxn 1010 #define mod 100000007 #define inf 0x3f3f3f3f #define mid(a,b) ((a+b)>>1) using namespace std; int n; typedef pair<int,int> pii; pii num[maxn]; int main() { int t, ca = 1; cin >> t; while(t--) { scanf("%d", &n); for(int i=1; i<=n; i++) { int x; scanf("%d", &x); num[i] = make_pair(x, i); } sort(num+1, num+1+n); int flag = 1; int cnt = 0; for(int i=1; i<=n; i++) { if(num[i].first >= i) { flag = 0; break; } cnt += num[i].first; } if(!flag) { printf("Case #%d: No\n", ca++); continue; } printf("Case #%d: Yes\n", ca++); printf("%d\n", cnt); for(int i=1; i<=n; i++) { for(int j=1; j<=num[i].first; j++) { printf("%d %d\n", num[i].second, num[j].second); } } } return 0; }
相关文章推荐
- (HDU 5813)2016 Multi-University Training Contest 7 Elegant Construction (贪心、图论)
- CRT+容斥定理——Luck7 ( HDU 5768 ) ( 2016 Multi-University Training Contest 4 1005 )
- hdu 5821 Ball(2016 Multi-University Training Contest 8——贪心+排序)
- 2016 Multi-University Training Contest 1-1005---HDU 5727 Necklace(枚举+二分图匹配)
- (HDU 5802)2016 Multi-University Training Contest 6 Windows 10 (贪心)
- hdu 5813 Elegant Construction(2016 Multi-University Training Contest 7——暴力)
- 计算几何(组合计数+向量排序)——Eureka ( HDU 5738 ) ( 2016 Multi-University Training Contest 2 1005 )
- 贪心——Windows10 ( HDU 5802 ) ( 2016 Multi-University Training Contest 6 1010 )
- 2016 Multi-University Training Contest 2 1005 hdu 5738 计算几何
- 2016 Multi-University Training Contest 2-1005---HDU 5738 Eureka
- 贪心 ( HDU 5821 )——2016 Multi-University Training Contest 8 1001
- hdu 5802 Windows 10(2016 Multi-University Training Contest 6——贪心+dfs)
- HDU 5768 Lucky7(2016 Multi-University Training Contest 4 -1005)——中国剩余定理 + 容斥原理
- 2016 Multi-University Training Contest 1 1002 hdu 5724 博弈
- HDU 5738 Eureka (from: 2016 Multi-University Training Contest 2)
- 2016 Multi-University Training Contest 2 hdu 5734 Acperience【推公式,数学】
- 2016 Multi-University Training Contest 1-1001---HDU 5723 Abandoned country(DFS+最小生成树)
- 2016 Multi-University Training Contest 2 1001 hdu 5734 暴力
- 2016 Multi-University Training Contest 1-1004---HDU 5726 GCD
- HDU 5729 Rigid Frameworks (from: 2016 Multi-University Training Contest)