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的更多相关文章
随机推荐
- vue请求本地自己编写的json文件。
1.第一步,这是目录结构 2.接下来是build/webpack.dev.conf.js文件需要配置的内容 代码: //vue配置请求本地json数据const express = require(' ...
- Scala集合学习总结
遍历集合可以使用迭代器iterator的那套迭代方式.Seq是一个有先后次序的序列,比如数组或列表.IndexedSeq可以通过下标进行任意元素的访问.例如ArrrayBuffer. Set是一组没有 ...
- JQuery第三天——CSS操作与JQuery事件
JQuery的CSS_DOM与样式操作 样式: 获取 class 和设置 class : class 是元素的一个属性, 所以获取 class 和设置 class 都可以使用 attr() 方法来完成 ...
- 第十周课下作业-IPC
第十周课下作业-IPC 题目:研究Linux下IPC机制:原理,优缺点,每种机制至少给一个示例,提交研究博客的链接 共享内存 管道 FIFO 信号 消息队列 共享内存 共享内存允许两个或多个进程进程共 ...
- 20155238 2016-2017-2 《Java程序设计》第四周学习总结
教材学习内容总结 继承 extends public class SwordsMan extends Role 检查语法逻辑,从=右边向左边读.编译程序就是语法检查器. 重新定义行为 public v ...
- 柯朗微积分与数学分析习题选解(1.2 节 d)
一直在读<陶哲轩实分析>,陶的书非常的严谨,环环相扣,但是也有个缺点就是计算性的例子和应用方面的例子太少了.所以就又找了本柯朗的<微积分与数学分析>搭配着看.柯朗的书的习题与陶 ...
- 2-4 list练习题
参考答案 >>> names = [] >>> names.append('old_driver') >>> names.append('rain ...
- TMS320VC5509启动模式选择
1. TMS320VC5509内部没有存储空间,所以需要外部接flash.如果使用JTAG仿真板子的话,应该是选择USB下载模式,同时EEPROM应该是支持SPI FALSH的.
- REST API 开发
本文我们将使用Spring MVC 4实现 CRUD Restful WebService , 通过RestTemplate写一个 REST 客户端,定义这些服务. 我们也可以通过外部的一些客户端来测 ...
- UWP DEP0700: 应用程序注册失败。[0x80073CF9] Install failed. Please contact your software vendor. (Exception from HRESULT: 0x80073CF9)
现在部署的app项目八成是从以前的一个项目复制过来,修改的.或者本地存在一个相同的app没有卸载. 解决方法: 1. 卸载之前相同的app 2.如果是复制的项目A,但是经过修改后变成了项目B,并且A和 ...