[kuangbin带你飞]专题一 简单搜索 - K - 迷宫问题
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
using namespace std;
struct node
{
int x;
int y;
int s;
};
int g[][];
int d[][]={{,},{-,},{,},{,-}};
int main()
{
// freopen("in.in","r",stdin);
node s, t;
string l;
queue<node>q;
vector<node>v; for(int i = ; i <= ; i++)
for(int j = ; j <= ; j++)
g[i][j] = ; for(int i = ; i <= ; i++)
for(int j = ; j <= ; j++)
scanf("%d",&g[i][j]); s.x = ;
s.y = ;
s.s = -;
q.push(s);
while(q.size())
{
s = q.front();
q.pop();
g[s.x][s.y] = s.s;
if(s.x == && s.y == ) break; for(int i = ; i < ; i++)
{
t.x = s.x + d[i][];
t.y = s.y + d[i][];
t.s = s.s - ;
if(g[t.x][t.y] == )
q.push(t); }
}
while(q.size()) q.pop();
s.x = ;
s.y = ;
q.push(s);
while(q.size())
{
s = q.front();
q.pop();
if(s.x == && s.y == ) break;
for(int i = ; i < ; i++)
{
t.x = s.x + d[i][];
t.y = s.y + d[i][];
if(g[t.x][t.y] == g[s.x][s.y] + )
{
q.push(t);
v.push_back(t);
break;
}
}
}
for(int i = v.size() - ; i >= ; i--)
printf("(%d, %d)\n",v[i].x-,v[i].y-);
printf("(4, 4)\n");
return ;
}
[kuangbin带你飞]专题一 简单搜索 - K - 迷宫问题的更多相关文章
- [kuangbin带你飞]专题一 简单搜索 题解报告
又重头开始刷kuangbin,有些题用了和以前不一样的思路解决.全部题解如下 点击每道题的标题即可跳转至VJ题目页面. A-棋盘问题 棋子不能摆在相同行和相同列,所以我们可以依此枚举每一行,然后标记每 ...
- [kuangbin带你飞]专题一 简单搜索(回顾)
A - 棋盘问题 POJ - 1321 注意条件:不能每放一个棋子,就标记一行和一列,我们直接枚举每一行就可以了. AC代码: #include<iostream> #include< ...
- [kuangbin带你飞]专题一 简单搜索 - E - Find The Multiple
//Memory Time //2236K 32MS #include<iostream> using namespace std; ]; //保存每次mod n的余数 //由于198的余 ...
- [kuangbin带你飞]专题一 简单搜索 棋盘问题
题来:链接https://vjudge.net/problem/OpenJ_Bailian-132 J - 棋盘问题 1.题目: 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别. ...
- [kuangbin带你飞]专题一 简单搜索
ID Origin Title 454 / 1008 Problem A POJ 1321 棋盘问题 328 / 854 Problem B POJ 2251 Dungeon Ma ...
- [kuangbin带你飞]专题一 简单搜索 回顾总结
第二题:bfs,忘了将queue清空. 第三题:bfs,记得使用vis数组,防止重复入队
- 迷宫问题 POJ - 3984 [kuangbin带你飞]专题一 简单搜索
定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, ...
- [kuangbin带你飞]专题一 简单搜索 Find a way HDU - 2612
Pass a year learning in Hangzhou, yifenfei arrival hometown Ningbo at finally. Leave Ningbo one year ...
- Catch That Cow POJ - 3278 [kuangbin带你飞]专题一 简单搜索
Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. ...
随机推荐
- 树的直径变形——cf1238F
/* 题目给定一些一维线段[li,ri],要求从这些线段里挑出一些线段,每条线段对应一个点,如果两线段相交,那么点连边,这样得到的树是good-tree 现在给定一棵树,要求从该树中选出一棵子树,使这 ...
- 生产环境用到的几个有用的Linux命令
有时候,几个有用的Linux命令可以很大的提高你的工作效率. 1.free -m 这个命令我暂时就只会这么使用,它可以查看服务器的内存资源 2.top 这个命令同样可以查看服务器的资源,当然我还是用它 ...
- CCC2018 最大战略储备
并查集基本处理即可. #include <cstdio> #include <iostream> #include <algorithm> #include < ...
- (转)Linux下使用system()函数一定要谨慎
转:http://my.oschina.net/renhc/blog/53580 曾经的曾经,被system()函数折磨过,之所以这样,是因为对system()函数了解不够深入.只是简单的知道用这个函 ...
- SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS")时间转换问题
SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS")时间转换问题 程序代码: import java.text.ParseException; i ...
- 数据科学工作者(Data Scientist) 的日常工作内容包括什么
数据科学工作者(Data Scientist) 的日常工作内容包括什么 众所周知,数据科学是这几年才火起来的概念,而应运而生的数据科学家(data scientist)明显缺乏清晰的录取标准和工作内容 ...
- java程序中线程cpu使用率计算
原文地址:https://www.imooc.com/article/27374 最近确实遇到题目上的刚需,也是花了一段时间来思考这个问题. cpu使用率如何计算 计算使用率在上学那会就经常算,不过往 ...
- linux 创建多级目录 mkdir -p
原文地址:http://www.dutor.net/index.php/2010/06/cmd-mkdir-p/ mkdir的-p选项允许你一次性创建多层次的目录,而不是一次只创建单独的目录.例如,我 ...
- netif_rx解析
netif_rx函数是在网上收到数据包后,通过中断机制通知CPU而间接调用的中断处理例程. 首先,会将Packet传给netpoll框架,该框架用于在网络协议栈不可用的情况下,也能够提供给内核一个收发 ...
- Codeforces 743C - Vladik and fractions (构造)
Codeforces Round #384 (Div. 2) 题目链接:Vladik and fractions Vladik and Chloe decided to determine who o ...