linshi18
#include<iostream>
using namespace std;
int n,m,k;
#define max 100
char mmap[max][max];
int mmin;
#define MIN(a,b) ((a)<(b)?(a):(b));
int x1,x2,y1,y2;
int mmde[4][2]={{0,-1},{1,0},{0,1},{-1,0}};
int visited[max][max];
void dfs(int x,int y,int sum){
if(mmap[x][y]=='3'){
mmin=MIN(sum,mmin);
return; }
else {
int i;
int mx,my;
for(i=0;i<4;i++){
mx=x+mmde[i][0];
my=y+mmde[i][1]; if(visited[mx][my]==1||mx<1||mx>n||my<1||my>m||(sum%k!=0&&mmap[mx][my]=='0'))
{continue;}
else if(abs(mx-x2)+abs(my-y2)+sum>mmin)continue;
else
{
visited[mx][my]=1;
dfs(mx,my,sum+1);
visited[mx][my]=0; }
} }
}
int main(){
//scanf("%d%d%d",&n,&m,&k);
while(cin>>n>>m>>k){
int i,j;
memset(visited,0,sizeof(visited));
mmin=10000;
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
cin>>mmap[i][j];
if(mmap[i][j]=='1')
{x1=i;y1=j;}
else if(mmap[i][j]=='3')
{x2=i;y2=j;}
}
}
visited[x1][y1]=1;
dfs(x1,y1,0);
printf("%d\n",mmin);
}
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
linshi18的更多相关文章
随机推荐
- 时间序列分析工具箱——tibbletime
目录 时间序列分析工具箱--tibbletime tibbletime 的用途 加载包 数据 教程:tibbletime 初始化一个 tbl_time 对象 时间序列函数 翻译自<Demo We ...
- RabbitMQ(三):消息持久化策略
原文:RabbitMQ(三):消息持久化策略 一.前言 在正常的服务器运行过程中,时常会面临服务器宕机重启的情况,那么我们的消息此时会如何呢?很不幸的事情就是,我们的消息可能会消失,这肯定不是我们希望 ...
- 如何补装oracle的sample schema
SQL>@ORACLE_HOME/rdbms/admin/utlsampl.sql; 似乎不够完整,等待补充.
- 25-[jQuery]-ajax
1.什么是AJAX AJAX = 异步的javascript和XML(Asynchronous Javascript and XML) 简言之,在不重载整个网页的情况下,AJAX通过后台加载数据,并在 ...
- 【CQOI2017】小Q的棋盘
题面 题解 根据题意,不回头是最好的(显然法) \(dfs\)找到最长链,设长度为\(\mathrm{L}\),然后分类讨论: 如果\(\mathrm{L} > m\),答案就是\(m + 1\ ...
- codechef FEB19 Manhattan Rectangle
Manhattan Rectangle 链接 题意: 交互题,询问小于7次,确定一个矩形的位置,每次询问一个点到矩形的曼哈顿距离. 分析: 询问三个顶点,然后解一下方程,求出一个边界,就好办了. 用s ...
- 非局部均值滤波算法的python实现
如题,比opencv自带的实现效果好 #coding:utf8 import cv2 import numpy as np def psnr(A, B): return 10*np.log(255*2 ...
- TMS320VC5509驱动TLV32AIC23
1. 本次使用LINE_IN作为输入,LINE_OUT作为输出(可以插耳机),代码如下,代码经过测试,没问题,不过发现了一个很奇怪的问题没搞明白 /************************** ...
- set方法在set传入值时报空指针异常,直接设置定值即可
这种情况可能跟上下的程序有关,所以直接设置定值传入即可. 例如: re.setRid(ar.getRid()); // 这个是报错代码 md.setConnMailStatusTrue(ar.getR ...
- Introduction to Big Data with PySpark
起因 大数据时代 大数据最近太热了,其主要有数据量大(Volume),数据类别复杂(Variety),数据处理速度快(Velocity)和数据真实性高(Veracity)4个特点,合起来被称为4V. ...