【欧拉回路】Gym - 101411C - Courier's Route
每个城市有4个城门,每个城门会发出唯一一条边去别的城市的城门。问你能否从城市1出发,经过每个城门恰好一次,再回到城市1。
每个城市的度数都是4,必然存在欧拉回路(如果连通)。欧拉回路显然是一个合法解。
#include<cstdio>
#include<vector>
using namespace std;
struct Edge{
int id,v;
};
vector<Edge>G[1010];
int n,sz,path[2010];
bool vis[2010],a[4010][4010];
void dfs(int U){
while(!G[U].empty()){
Edge e=G[U].back();
G[U].pop_back();
if(!vis[e.id]){
vis[e.id]=1;
dfs(e.v);
}
}
path[++sz]=U;
}
int du[1010],anss[4010],ans;
int main(){
freopen("courier.in","r",stdin);
freopen("courier.out","w",stdout);
int x,y;
scanf("%d",&n);
for(int i=1;i<=(n<<1);++i){
scanf("%d%d",&x,&y);
G[(x-1)/4+1].push_back((Edge){i,(y-1)/4+1});
G[(y-1)/4+1].push_back((Edge){i,(x-1)/4+1});
a[x][y]=a[y][x]=1;
++du[(x-1)/4+1];
++du[(y-1)/4+1];
}
dfs(1);
if(sz!=2*n+1){
puts("No");
return 0;
}
for(int i=1;i<sz;++i){
for(int j=4*path[i];j>=4*path[i]-3;--j){
for(int k=4*path[i+1];k>=4*path[i+1]-3;--k){
if(a[j][k]){
anss[++ans]=j;
anss[++ans]=k;
a[j][k]=a[k][j]=0;
goto OUT;
}
}
}
puts("No");
return 0;
OUT:;
}
puts("Yes");
for(int i=1;i<ans;++i){
printf("%d ",anss[i]);
}
printf("%d\n",anss[ans]);
return 0;
}
【欧拉回路】Gym - 101411C - Courier's Route的更多相关文章
- 2009-2010 ACM-ICPC, NEERC, Western Subregional Contest
2009-2010 ACM-ICPC, NEERC, Western Subregional Contest 排名 A B C D E F G H I J K L X 1 0 1 1 1 0 1 X ...
- Kibana源码剖析 —— savedSearch从读取到跳转
持久化对象 Kibana中可以查询到很多保存的对象,他们都存储在es中一个叫做.kibana的索引中. 搜索 存储在type为search中; 图表 存储在type为visualization中: 仪 ...
- Codeforces Gym 100431A Achromatic Number 欧拉回路
原题链接:http://codeforces.com/gym/100431/attachments/download/2421/20092010-winter-petrozavodsk-camp-an ...
- Gym 100851K
Problem King's Inspection 题目大意 给一张n个点m条边的无向图,问是否存在一条欧拉回路. n<=10^5, 0<=m<=n+20. 解题分析 注意到数据范围 ...
- 欧拉回路-Door Man 分类: 图论 POJ 2015-08-06 10:07 4人阅读 评论(0) 收藏
Door Man Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 2476 Accepted: 1001 Description ...
- URAL 1137 Bus Routes(欧拉回路路径)
1137. Bus Routes Time limit: 1.0 secondMemory limit: 64 MB Several bus routes were in the city of Fi ...
- poj 1300 Door Man 欧拉回路
题目链接:http://poj.org/problem?id=1300 You are a butler in a large mansion. This mansion has so many ro ...
- Gym 100531H Problem H. Hiking in the Hills 二分
Problem H. Hiking in the Hills 题目连接: http://codeforces.com/gym/100531/attachments Description Helen ...
- 【转】欧拉回路&特殊图下的哈密顿回路题集
转自:http://blog.csdn.net/shahdza/article/details/7779385 欧拉回路[HDU]1878 欧拉回路 判断3018 Ant Trip 一笔画问题1116 ...
随机推荐
- 打开Android系统安装APK的页面
//使用隐式意图开启安装APK的Activity Intent intent = new Intent("android.intent.action.VIEW"); intent. ...
- git 配置多用户
.ssh 下的 config.txt 内容 # 配置github.com Host github.com HostName github.com IdentityFile ~/.ssh/id_rsa_ ...
- JSOI2018简要题解
来自FallDream的博客,未经允许,请勿转载,谢谢. 有幸拜读到贵省的题目,题的质量还不错,而且相比zjoi可做多了,简单发一下题解吧. 还有就是,怎么markdown在博客园上的代码这么丑啊 「 ...
- go语言爬虫goquery和grequests的使用
/*下载工具*/ package main import ( "fmt" //go语言版本的jquery "github.com/PuerkitoBio/goquery& ...
- Django 国内最全教程
https://code.ziqiangxuetang.com/django/django-tutorial.html
- saltstack安装和配置
[root@web9 salt]# vi filetest.sls //ADD file_test: file.managed: - name: /tmp/lulu.com - source: sal ...
- Django web框架之权限管理一
1. 需求分析: 准备:创建独立app, rbac #权限管理模块/组件 app01 #应用 分配权限,URL 2. 数据库设计 2.1 设计思路 第一版: 权限表: ID url title is_ ...
- hdu 3395(KM算法||最小费用最大流(第二种超级巧妙))
Special Fish Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- hdu 3667(最小费用最大流+拆边)
Transportation Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- 主机批量扫描工具fping,hping安装及使用
https://blog.csdn.net/weixin_39762926/article/details/79476196?utm_source=blogxgwz0 https://blog.csd ...