POJ 2457 Part Acquisition
第一反应是BFS,比较直观,但是输出路径写的不是很熟练,此外,习惯不好,“==”写成了“=”,所以常量一定放前面!
#include <cstdio>
#include <queue>
#include <cstring>
using namespace std;
int N, K;
typedef struct node
{
int in, out;
int pos;
}Link;
const int maxn = ;
bool vis[maxn];
Link A[maxn];
int pre[maxn], B[maxn]; int main(void) {
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);
scanf("%d%d", &N, &K);
memset(vis, false, sizeof(vis));
queue<Link> Q;
for (int i = ; i < N; i++) {
scanf("%d%d", &A[i].in, &A[i].out);
A[i].pos = i;
if (A[i].in == ) {
pre[i] = -;
vis[i] = true;
Q.push(A[i]);
}
} if (K == ) {
printf("1\n1\n");
} else {
if (Q.empty()) {
printf("-1\n");
} else {
while (!Q.empty()) {
Link front = Q.front();
if (front.out == K) {
break;
}
for (int i = ; i < N; i++) {
if (!vis[i] && A[i].in == front.out) {
Q.push(A[i]);
vis[i] = true;
pre[i] = front.pos;
}
}
Q.pop(); }
if (Q.empty()) {
printf("-1\n");
} else {
int cnt = ;
int i = Q.front().pos;
for (;- != pre[i];) {
B[cnt++] = A[i].out;
i = A[pre[i]].pos;
}
B[cnt++] = A[i].out; printf("%d\n1\n", cnt+);
for (int k = cnt-; k >= ; k--) {
printf("%d\n", B[k]);
}
}
}
} }
看到别人用SPFA、dijkstra,有时间也试一试!
【待写】
POJ 2457 Part Acquisition的更多相关文章
- POJ 2457 BFS
题意: 说人话: 从A到B连边 找从1到k的最短路 并输出路径(随便一条即可 ) 如果不能到达 输出-1 思路: 搜 //By SiriusRen #include <queue> #in ...
- 【转载】图论 500题——主要为hdu/poj/zoj
转自——http://blog.csdn.net/qwe20060514/article/details/8112550 =============================以下是最小生成树+并 ...
- 图论常用算法之一 POJ图论题集【转载】
POJ图论分类[转] 一个很不错的图论分类,非常感谢原版的作者!!!在这里分享给大家,爱好图论的ACMer不寂寞了... (很抱歉没有找到此题集整理的原创作者,感谢知情的朋友给个原创链接) POJ:h ...
- 【转】最短路&差分约束题集
转自:http://blog.csdn.net/shahdza/article/details/7779273 最短路 [HDU] 1548 A strange lift基础最短路(或bfs)★254 ...
- hdu图论题目分类
=============================以下是最小生成树+并查集====================================== [HDU] 1213 How Many ...
- 转载 - 最短路&差分约束题集
出处:http://blog.csdn.net/shahdza/article/details/7779273 最短路 [HDU] 1548 A strange lift基础最短路(或bfs)★ ...
- 最短路&查分约束
[HDU] 1548 A strange lift 根蒂根基最短路(或bfs)★ 2544 最短路 根蒂根基最短路★ 3790 最短路径题目 根蒂根基最短路★ 2066 一小我的观光 根蒂根基最短路( ...
- HDU图论题单
=============================以下是最小生成树+并查集====================================== [HDU] 1213 How Many ...
- POJ 3691 & HDU 2457 DNA repair (AC自己主动机,DP)
http://poj.org/problem?id=3691 http://acm.hdu.edu.cn/showproblem.php?pid=2457 DNA repair Time Limit: ...
随机推荐
- MVC3中常用的一些控件及方法
1.返回提示框 string script = String.Format("<script>alert('登录状态已失效! 请重新登录系统');location.href='{ ...
- 继续node爬虫 — 百行代码自制自动AC机器人日解千题攻占HDOJ
前言 不说话,先猛戳 Ranklist 看我排名. 这是用 node 自动刷题大概半天的 "战绩",本文就来为大家简单讲解下如何用 node 做一个 "自动AC机&quo ...
- 【深入ASP.NET原理系列】--ASP.NET请求管道、应用程序生命周期、整体运行机制
微软的程序设计和相应的IDE做的很棒,让人很快就能有生产力..NET上手容易,生产力很高,但对于一个不是那么勤奋的人,他很可能就不再进步了,没有想深入下去的动力,他不用去理解整个框架和环境是怎么执行的 ...
- 使用markdown编辑evernote(印象笔记)的常用方法汇总
原文发表在我的博客主页,转载请注明出处 前言 正所谓工欲善其事,必先利其器,本文将要介绍的evernote和markdown都是程序员必备的工具 虽然国内现在有了很多evernote的替代品,做的比较 ...
- UTF-8和Unicode
What's the difference between unicode and utf8? up vote 103 down vote favorite 49 Is it true that un ...
- 解决服务器上 w3wp.exe 和 sqlservr.exe 的内存占用率居高不下的方案
SQL Server是如何使用内存 最大的开销一般是用于数据缓存,如果内存足够,它会把用过的数据和觉得你会用到的数据统统扔到内存中,直到内存不足的时候,才把命中率低的数据给清掉.所以一般我们在看sta ...
- MVC认知路【点点滴滴支离破碎】【三】----IIS7.5上部署MVC4.0
发布web到iis不能运行Google ----- ╲ http://stackoverflow.com/questions/12057540/installing-asp-net-mvc-4-o ...
- git --- push到远端
- android开发------编写用户界面之线性布局
一个好的应用程序离不开人性化的用户界面.在学习其他东西之前.理应先学习编写程序的布局(外观) 今天,我们就来学习android的UI布局----LinearLayout. LinearLayout,即 ...
- ubuntu下启动、关闭tomcat,查看tomcat运行日志
启动:一般是执行sh tomcat/bin/startup.sh 停止:一般是执行sh tomcat/bin/shutdown.sh查看:执行ps -ef |grep tomcat 输出如下 *** ...