ural 1119 Metro
http://acm.timus.ru/problem.aspx?space=1&num=1119
#include <cstdio>
#include <cstring>
#include <queue>
#include <cmath>
#include <algorithm>
#define maxn 1010
using namespace std; int head[maxn],e,n,m;
int dir[][]={{,-},{,},{,},{-,}};
bool vis[maxn][maxn];
bool visi[maxn][maxn];
double step; struct node
{
int x,y;
double step;
}st,st1,st2; void bfs(node st)
{
queue<node>q;
st.step=0.0;
q.push(st);
memset(visi,false,sizeof(visi));
visi[st.x][st.y]=true;
while(!q.empty())
{
st1=q.front();
q.pop();
if(st1.x==m&&st1.y==n) {step=st1.step;return;}
for(int i=; i<; i++)
{
int xx=st1.x+dir[i][];
int yy=st1.y+dir[i][];
if(xx>=&&xx<=m&&yy>=&&yy<=n&&!visi[xx][yy])
{
st2.step=st1.step+100.0;
visi[xx][yy]=true;
st2.x=xx;
st2.y=yy;
q.push(st2);
}
}
if(vis[st1.x+][st1.y+]&&st1.x+<=m&&st1.y+<=n&&st1.x+>=&&st1.y+>=)
{
vis[st1.x+][st1.y+]=true;
st2.x=st1.x+;
st2.y=st1.y+;
st2.step=st1.step+sqrt()*100.0;
q.push(st2);
}
}
}
int main()
{
int k,a,b;
step=;
scanf("%d%d",&n,&m);
scanf("%d",&k);
memset(vis,false,sizeof(vis));
for(int i=; i<=k; i++)
{
scanf("%d%d",&a,&b);
vis[b][a]=true;
}
st.x=;
st.y=;
bfs(st);
printf("%.0lf\n",step);
return ;
}
ural 1119 Metro的更多相关文章
- 递推DP URAL 1119 Metro
题目传送门 /* 题意:已知起点(1,1),终点(n,m):从一个点水平或垂直走到相邻的点距离+1,还有k个抄近道的对角线+sqrt (2.0): 递推DP:仿照JayYe,处理的很巧妙,学习:) 好 ...
- URAL 1119. Metro(BFS)
点我看题目 题意 : 这个人在左下角,地铁在右上角,由很多格子组成的地图,每一条边都是一条路,每一条边都是100米.还有的可以走对角线,问你从起点到终点最短是多少. 思路 : 其实我想说一下,,,, ...
- ural 1119. Metro(动态规划)
1119. Metro Time limit: 0.5 second Memory limit: 64 MB Many of SKB Kontur programmers like to get to ...
- URAL 1119. Metro(DP)
水题. #include <cstring> #include <cstdio> #include <string> #include <iostream&g ...
- URAL DP第一发
列表: URAL 1225 Flags URAL 1009 K-based Numbers URAL 1119 Metro URAL 1146 Maximum Sum URAL 1203 Scient ...
- URAL(DP集)
这几天扫了一下URAL上面简单的DP 第一题 简单递推 1225. Flags #include <iostream> #include<cstdio> #include< ...
- 要back的题目 先立一个flag
要back的题目 目标是全绿!back一题删一题! acmm7 1003 1004 acmm8 1003 1004 sysu20181013 Stat Origin Title Solved A Gy ...
- ural 1272. Non-Yekaterinburg Subway
1272. Non-Yekaterinburg Subway Time limit: 1.0 secondMemory limit: 64 MB A little town started to co ...
- wp已死,metro是罪魁祸首!
1.这篇文章肯定会有类似这样的评论:“我就是喜欢wp,我就是喜欢metro,我就是软粉“等类似的信仰论者发表的评论. 2.2014年我写过一篇文章,windows phone如何才能在中国翻身? 我现 ...
随机推荐
- Selenium IDE整理
安装 Step1: 下载Firefox浏览器 http://www.firefox.com.cn/ Step2: 安装Selenium IDE插件 http://seleniumhq.org/down ...
- C++[类设计] ini配置文件读写类config
//in Config.h #pragma once #include <windows.h> #include <shlwapi.h> #pragma comment(l ...
- [转] GDB 下 watch的使用
这里大概说下gdb调试程序时,watch的使用.至于原理尚不清楚,以后再做补充,还请见谅. watch通常需要和break,run,continue联合使用. 下面举例说明: 代码如下: #inclu ...
- Asp.Net mvc筛选器中返回信息中断操作
在mvc中,使用response.end()或Response.Redirect("url"); 是无法阻止请求继续往下执行的.如果在action中,可以我们可以使用return ...
- mysql 创建数据库使用默认字符集(备忘)
GBK: create database test2 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci; UTF8: CREATE DATABASE ` ...
- PHP的魔术方法(简介)
public void _set(string $name,mixed $value) public mixed _get(string $name) public bool _isset(strin ...
- api接口
目录(?)[-] 接口特点汇总 PHP Token令牌 先说第一个tokenapi_token 服务端接口校验PHP实现流程如下 再说第二个tokenuser_token 接口用例如下 接口特点汇总: ...
- poj 2823 Sliding Window(单调队列)
/* 裸地单调队列.. 第一次写 写的好丑.... */ #include<iostream> #include<cstdio> #include<cstring> ...
- 简单竖向Tab选项卡
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- android系统360浏览器使用append动态添加元素出现黑色错乱背景
去掉样式 backface-visibility:hidden;