图练习-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 ...
随机推荐
- 【EF框架异常】System.MissingMethodException:“找不到方法:“System.Data.Entity.ModelConfiguration.Configuration.PrimitivePropertyConfiguration
最近调试EF的时候遇到下面这个问题 System.MissingMethodException:“找不到方法:“System.Data.Entity.ModelConfiguration.Config ...
- 【大数据系列】MapReduce详解
MapReduce是hadoop中的一个计算框架,用来处理大数据.所谓大数据处理,即以价值为导向,对大数据加工,挖掘和优化等各种处理. MapReduce擅长处理大数据,这是由MapReduce的设计 ...
- Android NDK学习(3)使用Javah命令生成JNI头文件 .
转:http://www.cnblogs.com/fww330666557/archive/2012/12/14/2817387.html 第一步: 在Eclipse中创建android项目,并声明N ...
- Building Boost for Android with error “cannot find -lrt”
编辑tools/build/src/tools/gcc.jam rule setup-threading ( targets * : sources * : properties * ){ local ...
- C语言位操作--不用中间变量交换两数值
1.使用加法与减法交换两数值: #define SWAP(a, b) ((&(a) == &(b)) || \ (((a) -= (b)), ((b) += (a)), ((a) = ...
- sprint boot 配置
来源:https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#howto-configure-to ...
- Windows Server 2008 R2之三管理活动目录数据库
活动目录数据库包括数据库文件NTDS.dit和日志文件.考虑到最佳性能,在生产环境推荐将日志文件和数据库文件在单独的硬盘驱动器中或RAID中,同时要根据网络的规模,保证磁盘上有充足的剩余空间.由于活动 ...
- UVM phase的用法研究【zz】
原文地址:http://bbs.eetop.cn/viewthread.php?tid=383872&extra=&authorid=828160&page=1 我相信很多朋友 ...
- Mongodb之使用rpm包安装配置启动
下载rpm包 wget https://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/3.2/x86_64/RPMS/mongod ...
- PHP快速入门
1.表单 <form action="processorder.php" method="post"> 表单的第一行,action的意思是说,提交表 ...