图练习-BFS-从起点到目标点的最短步数(sdut 2830)邻接边表
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2830
题目描述
输入
输出
示例输入
2 1
1 2
2 1
2 1
示例输出
1
1
提示
这题之前一直没有做,对邻接边表有点恐惧,然后我和tjj来了一场比赛,我故意出了这个题,本来以为很难的题,没想到10几分钟就A了,发现要相信自己,很多题目很简单要敢于去做。
建完表后就是很裸的bfs模板。
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define N 100001
using namespace std;
int n,m,tt;
struct node
{
int x,y;
int next;
}q[];
struct node1
{
int x;
int ans;
}q1[];
int v[];
int head[];
void init()
{
memset(head,-,sizeof(head));
}
void add(int xx,int yy)
{
q[tt].x=xx;
q[tt].y=yy;
q[tt].next=head[xx];
head[xx]=tt;
tt++;
}
void bfs()
{
int e=;
int s=;
memset(v,,sizeof(v));
struct node1 t,f;
t.x=;
t.ans=;
v[t.x]=;
q1[e++]=t;
while(s<e)
{
t=q1[s++];
if(t.x==n)
{
printf("%d\n",t.ans);
return ;
}
for(int i=head[t.x];i!=-;i=q[i].next)
{
if(v[q[i].y]==)
{
v[q[i].y]=;
f.ans=t.ans+;
f.x=q[i].y;
q1[e++]=f;
}
}
}
printf("NO\n");
}
int main()
{
int xx,yy;
while(scanf("%d%d",&n,&m)!=EOF)
{
tt=;
init();
while(m--)
{
scanf("%d%d",&xx,&yy);
add(xx,yy);
add(yy,xx);
}
bfs();
}
}
图练习-BFS-从起点到目标点的最短步数(sdut 2830)邻接边表的更多相关文章
- SDUT OJ 图练习-BFS-从起点到目标点的最短步数 (vector二维数组模拟邻接表+bfs , *【模板】 )
图练习-BFS-从起点到目标点的最短步数 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 在古老的魔兽传说中,有两个军团,一个叫天 ...
- 图结构练习——BFS——从起始点到目标点的最短步数(邻接表+BFS)
图练习-BFS-从起点到目标点的最短步数 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描写叙述 在古老的魔兽传说中.有两个军团,一个 ...
- 图练习-BFS-从起点到目标点的最短步数
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2830 简单bfs #include <s ...
- SDUT-2139_从起始点到目标点的最短步数(BFS)
数据结构实验之图论五:从起始点到目标点的最短步数(BFS) Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 在古老的魔兽 ...
- SDUT OJ 数据结构实验之图论五:从起始点到目标点的最短步数(BFS)
数据结构实验之图论五:从起始点到目标点的最短步数(BFS) Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss P ...
- 数据结构实验之图论五:从起始点到目标点的最短步数(BFS)
分析:有向图里面找最短路径,原理就是每一步都走距离自己最近的路, 一旦发现走一步可以到,那么这个一定是最短的. #include <bits/stdc++.h> using namespa ...
- ACM:图的BFS,走迷宫
题目: 一个网格迷宫由n行m列的单元格组成,每一个单元格要么是空地(用1表示),要么是障碍物(用0来表示).你的任务是找一条从起点到终点的最短移动序列,当中UDLR分别表示往上.下.左.右移动到相邻单 ...
- UVA-10047 The Monocycle (图的BFS遍历)
题目大意:一张图,问从起点到终点的最短时间是多少.方向转动也消耗时间. 题目分析:图的广度优先遍历... 代码如下: # include<iostream> # include<cs ...
- 【数据结构与算法】自己动手实现图的BFS和DFS(附完整源码)
转载请注明出处:http://blog.csdn.net/ns_code/article/details/19617187 图的存储结构 本文的重点在于图的深度优先搜索(DFS)和广度优先搜索(BFS ...
随机推荐
- [微信小程序]计算自己手机到指定位置的距离
目的: 根据目的地的坐标计算自己手机的位置离目的地的距离的 核心思路: 后续操作必须等所有异步请求都返回了才能继续 使用 const qqmap = require("../../utils ...
- 合格PHP工程师的知识结构
摘自http://www.cnblogs.com/ftx5410/p/7204672.html 一下子就想了这么多,后续想到了再补,请大家多多指教.其实编程使用什么语言不重要,最重要的是思想,编程的思 ...
- 【cs229-Lecture3】Logistic回归
参考: http://www.itongji.cn/article/12112cH013.html http://blog.csdn.net/zouxy09/article/details/20319 ...
- 【大数据系列】hive修改默认的derby数据库
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml- ...
- css布局 - 常规上中下分左右布局的一百种实现方法(更新中...)
一. 上中下左固定 - fixed+margin 概括:如图,此种布局就是顶部.底部和左侧固定不动,只有中间右侧超出可滚动. html: <header>我是头部position: fix ...
- Promise 必知必会的面试题
Promise 想必大家都十分熟悉,想想就那么几个 api,可是你真的了解 Promise 吗?本文根据 Promise 的一些知识点总结了十道题,看看你能做对几道. 以下 promise 均指代 P ...
- 替换linux系统文件etc下passwd文件的字段获取真正的root权限
sudo与root 很多人都知道使用linux可以利用sudo来执行一些root权限执行的事情,但是sudo和root还是有很大的区别的. 区别一:sudo可以执行的命令是root账户利用/etc/s ...
- Python - 3MySQL 数据库连接
Python3 MySQL 数据库连接 本文我们为大家介绍 Python3 使用 PyMySQL 连接数据库,并实现简单的增删改查. 什么是 PyMySQL? PyMySQL 是在 Python3.x ...
- 【转】单片机中volatile定义的作用详解
传送门:http://www.eeworld.com.cn/mcu/2011/0411/article_3928.html 一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译 ...
- 第四课(1)——MySQL体系结构
学习目标 一.MySQL体系结构 二.MySQL内存结构 三.MySQL文件结构 四.Innodb体系结构 MySQL体系结构 一.MySQL体系结构图 1.Mysql是由SQL接口,解析器,优化器, ...