CF 404C - Restore Graph
来源:互联网 发布:外汇软件 福汇mt4 编辑:程序博客网 时间:2024/04/29 10:30
题意:让你连接长度为d和d+1的点,每个点的连接数不能超过k个。看到比较好的方法是用vector数组存长度为i的所有点的下标,然后连接。
也可以先排序再连接,学了goto后真是”想去哪就去哪“。但破坏了程序结构,以后还是少写。
#include<stdio.h>#include<algorithm>using namespace std;const int N=100005;struct node{int d,id,num;}t[N];int cmp(node a,node b){return a.d<b.d;}int e1[N],e2[N];int main(){int n,k;scanf("%d%d",&n,&k);int loc=-1,num=0;for(int i=1;i<=n;i++){scanf("%d",&t[i].d);t[i].id=i;t[i].num=0;}sort(t+1,t+1+n,cmp);int goal=1,p=1,cnt=0;if(t[1].d!=0){goal=0;goto out;}for(int i=2;i<=n;i++){more:;if(p>i){goal=0;goto out;}if(t[i].d==t[p].d+1&&t[p].num<k){//能连接e1[cnt]=t[i].id;e2[cnt++]=t[p].id;t[i].num++;t[p].num++;}else{p++;goto more;}}out: ;if(goal==0){printf("-1\n");return 0;}printf("%d\n",cnt);for(int i=0;i<cnt;i++)printf("%d %d\n",e1[i],e2[i]);return 0;}
0 0
- CF 404C - Restore Graph
- codeforces 404C - Restore Graph
- CodeForces 404C Restore Graph
- Codeforces 404C Restore Graph
- Codeforces 404C Restore Graph 构造
- Codeforces 404C Restore Graph【思维】
- #237 div2 C. Restore Graph
- Codeforces Round #237 (Div. 2) / 404C Restore Graph (构造最短路径树)
- codeforces 404 B. Marathon、C. Restore Graph、D. Minesweeper 1D
- CF 236 C. Searching for Graph
- CF 402C - Searching for Graph
- CF 712C Journey(dp+graph)
- cf 402c Searching for Graph
- Codeforces Round #237 (Div. 2)-C. Restore Graph
- cf 464 Restore Cube
- codeforces#237_div2_C Restore Graph
- tensorflow之Graph save and restore in python and c++(C++ 中使用tensorflow)
- cf 80 div1 B(graph)
- 黑马程序员_数组知识点的简单补充
- AndroidManifest 属性解析以及 代码动态获取属性值
- 《算法导论》学习笔记(3)——二叉搜索树
- pl/sql developer执行光标所在行
- Search in Rotated Sorted Array
- CF 404C - Restore Graph
- 深入java虚拟机 - 垃圾收集 - 跟踪收集器
- 操作系统常考知识点总结
- HDU 2012 素数判定
- UNIX Network Programming笔记之第五章下篇
- 黑马程序员-第二十三天(字符编码)
- poj1833
- 黑马程序员_关于对象的知识点补充
- 收藏的一些好的java网站。