博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 1154 LETTERS dfs
阅读量:4705 次
发布时间:2019-06-10

本文共 901 字,大约阅读时间需要 3 分钟。

题意:从(0,0)开始,字母没走过的就可以走,问最多可以经过几个字母

一般的dfs,回溯

代码:

#include
#include
#include
#include
#include
#define Max(a,b)a>b?a:busing namespace std;char map[22][22];bool vs[22][22],v[30];int R,C,ans;int dir[4][2]={-1,0,1,0,0,1,0,-1};void dfs(int x,int y,int step){ int k,p,np,nx,ny; vs[x][y]=1; p=map[x][y]-'A'; v[p]=1; for(k=0;k<4;k++) { nx=x+dir[k][0]; ny=y+dir[k][1]; np=map[nx][ny]-'A'; if(nx<0||nx>=R||ny<0||ny>=C||vs[nx][ny] ||v[np])continue; dfs(nx,ny,step+1); } ans=Max(ans,step); vs[x][y]=0; v[p]=0;}int main(){ int i; while(~scanf("%d%d",&R,&C)) { for(i=0;i

  

转载于:https://www.cnblogs.com/sdau10kuaile/archive/2012/03/20/2409075.html

你可能感兴趣的文章
ios实现程序切入后台,实现后台任务 (转自)
查看>>
组合数的求法 (n<=1e8 可以过来看)
查看>>
第二章:分支结构
查看>>
邮件详解
查看>>
【C++】C++自学旅程(3):函数与预处理
查看>>
浅析JavaScript的字符串查找函数:indexOf和search
查看>>
Doxygen+Graphviz用来画程序结构图
查看>>
jquery倾斜的动画导航菜单
查看>>
Android的AsyncTask类的解读 分类: Android ...
查看>>
JAVA IO流的简单总结+收集日志异常信息
查看>>
人脸识别
查看>>
LINQ学前准备之Lambda Expressions
查看>>
Android开发之回调函数
查看>>
数据归一化
查看>>
系统进程 zygote(一)—— 概述
查看>>
【翻译】Delphi中类的逆向工程
查看>>
我的Cocos2d-x学习笔记(二)AppDelegate补充介绍
查看>>
java获取中文拼音首字母工具类
查看>>
HDU 1729 Stone Game【SG函数】
查看>>
如何使用Vue实现拖拽效果pageY、screenY、clientY、layerY、offsetY(转)
查看>>