codeforces 606D. Lazy Student(#335 逆最小生成树)
2015-12-10 23:00
489 查看
题目链接:【codeorces 606D】
<span style="font-size:14px;">#include <iostream> #include <algorithm> #include <cstdio> #include <cstring> #include <string> using namespace std; #define inf 100010 #define ll __int64 int link[inf], vis[inf]; struct node { int w, id; }a[inf], b[inf]; struct tree { int u, v; }T[inf]; bool cmp(node n1, node n2) { return n1.w<n2.w; } int main() { int n, m, x, y; scanf("%d%d", &n, &m); int la=0, lb=0; for(int i=1; i<=m ;i++) { scanf("%d%d", &x, &y); if(y==1) { a[la].w=x, a[la++].id=i; } else { b[lb].w=x, b[lb++].id=i; } } sort(a, a+la, cmp); sort(b, b+lb, cmp); int p=1, ans=2, s; for(int i=0; i<la; i++) { link[ans]=a[i].w; T[a[i].id].u=p; T[a[i].id].v=ans++; } p=3, ans=2, s=0; for(int i=0; i<lb; i++) { if(link[p]>b[i].w) { printf("-1\n"); return 0; } T[b[i].id].u=p; T[b[i].id].v=ans++; if(ans==p) p++, ans=2; } for(int i=1; i<=m ;i++) { printf("%d %d\n", T[i].u, T[i].v); } return 0; }</span>
相关文章推荐
- iOS 8 自动布局sizeclass和autolayout的基本使用
- scan——Theano中循环的实现
- mysql 如何给大表添加字段
- HDU2054--A==B?
- leetcode -- Best Time to Buy and Sell Stock III --重点
- sizeToFit 解决Label的高度自适应碰到的一些问题
- Linux学习之简单指令二
- PE头的应用---插入代码到EXE或DLL文件中
- 《JavaScript权威指南》学习笔记 第七天 DOM操作
- CSS格式化排版
- 第五章:UML状态图
- Struts2框架学习之三:result返回结果
- ctype.h中的关于字符判断
- 深入剖析PE文件
- Compare Version Numbers
- BeanShell语法学习提要
- 06.iOS自动检测更新
- 一致性哈希算法
- Spring配置文件所有类型的数据源dataSource
- Redis时延问题分析及应对