题目链接:https://codeforces.com/contest/29/problem/C

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cctype>
#include <cmath>
#include <climits>
#include <cstring>
#include <vector>
#include <string>
#include <queue>
#include <stack>
#include <deque>
#include <set>
#include <map>
#include <bitset>
#include <unordered_set>
#include <unordered_map>
#include <algorithm>
using namespace std;
#define fi first
#define se second
#define mp make_pair
#define pb push_back
typedef double db;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int,int> PII;
static const int INF=0x3f3f3f3f;
static const ll INFL=0x3f3f3f3f3f3f3f3f;
static const db EPS=1e-10;
static const db PI=acos(-1.0);
inline int read()
{int X=0; bool flag=1; char ch=getchar();while(ch<'0'||ch>'9') {if(ch=='-') flag=0; ch=getchar();}while(ch>='0'&&ch<='9') {X=(X<<1)+(X<<3)+ch-'0'; ch=getchar();}if(flag) return X;return ~(X-1);
}
inline void write(int X)
{if(X<0) {X=~(X-1); putchar('-');}if(X>9) write(X/10);putchar(X%10+'0');
}
static const int MAXN=1e5+10;
vector<int> alls;
int find(int x)
{int l = 0, r = alls.size();while (l < r){int mid = l + r >> 1;if (alls[mid] >= x) r = mid;else l = mid + 1;}return r;
}
vector<int> g[MAXN];
int n;
int u[MAXN],v[MAXN];
void dfs(int u,int pre)
{printf(" %d",alls[u]);if(g[u].size()==1) return;if(g[u][0]==pre) dfs(g[u][1],u);else dfs(g[u][0],u);
}
int main()
{scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d%d",&u[i],&v[i]);alls.push_back(u[i]);alls.push_back(v[i]);}sort(alls.begin(),alls.end());alls.erase(unique(alls.begin(),alls.end()),alls.end());for(int i=0;i<n;i++){int a=find(u[i]),b=find(v[i]);g[a].push_back(b);g[b].push_back(a);}for(int i=0;i<alls.size();i++)if(g[i].size()==1){printf("%d",alls[i]);dfs(g[i][0],i);puts("");break;}return 0;
}

CodeForces - 29C Mail Stamps【离散化】【DFS】相关推荐

  1. Codeforces 846 B Math Show DFS + 贪心

    题目链接: http://codeforces.com/contest/846/problem/B 题目描述: 有N个节点, 每个节点有相同的K个子节点, 每个子节点有时间花费,完成一个子节点获得1分 ...

  2. Codeforces 375D - Tree and Queries(dfs序+莫队)

    题目链接:http://codeforces.com/contest/351/problem/D 题目大意:n个数,col[i]对应第i个数的颜色,并给你他们之间的树形关系(以1为根),有m次询问,每 ...

  3. Weak Pair HDU - 5877 树状数组+离散化+DFS遍历

    题意 给我们一颗有根有向树 以及每个点得权值a[1]~a[n] 需要我们求出在这颗树种有多少对满足以下两个条件的pair (1)u是v的祖先节点 (2)a[u]*a[v]<= k N<=1 ...

  4. Robbers' watch【Codeforces 686 C】【DFS】

    Codeforces 686 C 题意还是比较的难懂的,得亏最后给理解了. 题意:我们给一天的时间做了新的定义,一天中,有N小时,每个小时呢,有M分钟,然后呢时针是按照7进制的,也就是7小时(分钟)其 ...

  5. Sum of Medians CodeForces - 85D(线段树+离散化)

    Sum of Medians 题目链接:CodeForces - 85D 题意:对于一个集合set(有序的)有三个操作(集合是有序的,下标由1开始): 一:add x:在集合中加入x; 二:del  ...

  6. 2016 长春东北赛---Coconuts(离散化+DFS)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5925 Problem Description TanBig, a friend of Mr. Frog ...

  7. HDU 5925 Coconuts [二维离散化+dfs]

    题意: 有n*m的方阵 上面都是白的 其中有n个黑色的点 ,问你黑色的点把白色的点分成了几个部分,每个部分的点有多少. 分析: 因为给出的点最多只有200个,而整张图就有1e9个,所以离散化然后dfs ...

  8. CodeForces 396C 树状数组 + DFS

    本主题开始看到以为段树或树状数组,但是,对于一个节点的有疑问的所有子节点的加权,这一条件被视为树的根,像 然后1号是肯定在第一层中,然后建立一个单向侧倒查,然后记录下来 其中每个节点 层,终于 两个节 ...

  9. CodeForces - 817F Graph and String(dfs判二分图)

    题目链接:点击查看 题目大意:给出一张图,现在要求给出一种合适的染色方案,使得: 只能用 ' a ' , ' b ' , ' c ' 进行染色 有边相连的两个点的颜色要么相同,要么相邻,不能是 ' a ...

最新文章

  1. 从CPU缓存看缓存的套路
  2. python手机版怎么用-你知道如何用手机编程Python吗?
  3. c++函数重载机制实现原理
  4. Java EE API整合:为什么Spring要与“笨重”的Java EE共舞?
  5. 关于 VM Linux操作系统使用 360随身wifi的驱动安装问题
  6. __call__方法解析
  7. shell 如何避免误删目录
  8. 允许我在这里吐槽一下某宝客的代码
  9. JavaScript截断/切片/修剪掉字符串中的最后一个字符
  10. python类的构造函数self_初学python class 注意构造函数__init__(self) | 学步园
  11. 使用AD14创建异形PCB板
  12. Python中的abc模块
  13. 细胞生物学-7-叶绿体和线粒体
  14. mysql左连接查询慢
  15. Chrome浏览器另存为时浏览器假死问题
  16. PC微信更改文件默认保存位置后聊天记录丢失
  17. android 向上滑动home,滑动Home键
  18. 【C++】Loki库使用
  19. Mysql 无法连接的极简操作
  20. 给企业微信成员不同人发不同的文件

热门文章

  1. ArcGIS小知识(十二)——打开ArcToolbox的Samples工具以及用法
  2. dos重命名命令——ren
  3. 文件的打开、关闭、读写
  4. Linux如何学(新手入门必看)
  5. 淘宝店铺鼠标经过放大
  6. MathType编辑半直积符号的步骤
  7. 单链表结点删除PTA
  8. 查看docker版本,遇到的问题
  9. vue 登录界面无法跳转问题
  10. 压缩感知重构算法综述-学习笔记