TOJ 2921 古韵之鹊桥相会 / 深搜

来源:互联网 发布:js遍历子元素 编辑:程序博客网 时间:2024/04/30 15:56

古韵之鹊桥相会

时间限制(普通/Java):1000MS/3000MS     运行内存限制:65536KByte

描述

迢迢牵牛星,皎皎河汉女。
纤纤擢素手,札札弄机杼;
终日不成章,泣涕零如雨。
河汉清且浅,相去复几许?
盈盈一水间,脉脉不得语。
——《古诗十九首》
传说,上古时期的某个七月七日,王母娘娘为了阻止牛郎织女的爱情,划一道玉钗拆散鸳鸯,使两人“星桥鹊驾,经年才见,想离情、别恨难穷。”于是,“执子之手,与子偕老”成了天下有情人共同的希翼。
在气宇轩昂、玉树临风、才高八斗、英俊潇洒的程文大牛的期盼中,浪漫又迷人的七夕终于来临了。迷离的夜空之上,牛郎织女的絮语伴随着美好的秋光,浸润了古今文人墨客多情的心。他与美若天仙、唇红齿白、蕙质兰心、冰雪聪明的某MM约好在清江的小桥上相会……
天亦有情,此时,浮云错开,从天而降一张丝绸地图:正面上,不同颜色的星星组成了前方道路的俯视图;背面写着“愿有情人终成眷属,无伴者皆得幸福。——瑾姝”。
程文仔细看着这个图,发现自己必须从上到下打通一条道路才能见到某MM,于是程文决定用排云掌和风神腿打开前方的道路——
现用不同的字母来表示不同颜色的星星,连在一起(水平或竖直相邻才算连在一起)的相同颜色的星星,程文可以一次性全部打掉。
图样如下:
AABBCCD
AFFBGGD
IIJBKKD
MNNOOPD
QQRRSST
比如在这张地图中,程文可以先打掉最右边的D区域,然后再打通T区域,这样就只用两次就可以打通道路(道路是可以拐弯的,不一定要是一条直线)。
因为使用排云掌和风神腿会耗费体力,耗费干净了程文就没法陪MM一起玩了,所以程文想用最少的次数来打通这条道路,不过程文现在跑去学Java了,这件事就交给你了。

输入

每组测试数据的第一行有两个整数,m和n(0<m,n<21);
下面m行,每行n个字母。
输入以EOF结束。

输出

每组输出一个整数,程文打通道路用功力的最少的次数。

样例输入

5 7AABBCCDAFFBGGDIIJBKKDMNNOOPDQQRRSST

样例输出

2
#include <stdio.h>char a[25][25];int map[25][25];int n,m;int dir[4][2] = {0,1,0,-1,1,0,-1,0};void dfs(int x,int y,int step){if(map[x][y] <= step)return;map[x][y] = step;int i,xx,yy,s;for(i = 0;i < 4; i++){xx = x + dir[i][0];yy = y + dir[i][1];if(xx >= 0 && xx < n && yy >= 0 && yy < m){if(a[xx][yy] == a[x][y])s = step;elses = step + 1;if(s < map[xx][yy])dfs(xx,yy,s);}}}int main(){int i,j;while(scanf("%d %d",&n,&m)!=EOF){for(i = 0; i < n; i++){for(j = 0; j < m; j++)map[i][j] = 0x7fffffff;}for(i = 0;i < n; i++){scanf("%s",a[i]);}for(i = 0;i < m; i++){dfs(0,i,1);}int min = 0x7fffffff;for(i = 0;i < m; i++){if(min > map[n-1][i])min = map[n-1][i];}printf("%d\n",min);}return 0;}


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 小米4手机屏幕失灵怎么办 安装包证书异常怎么办 安装包出现异常怎么办 红米手机按键失灵怎么办 红米手机内存不足怎么办 红米note2内存不足怎么办 信号强度-98dbm怎么办 小米mix2误触怎么办 指纹功能不能用怎么办 红米手机中毒怎么办 小米4手机卡顿怎么办 红米内存大还卡怎么办 小米6x卡槽小怎么办 红米note砖头怎么办 mi4c不支持4G怎么办 小米手机抢不到怎么办 洗衣机外壳凹了怎么办 塑料手机套变黄怎么办 淘宝上没货了怎么办啊 华为手机音量低怎么办 手机电池冲鼓了怎么办 手机电池起鼓了怎么办 手机信息总提示怎么办 一体机电池不耐用怎么办 血糖偏高怎么办雅培益力佳SR 投诉电话打不通怎么办 宝宝换奶粉拉肚子怎么办 微店没有客源怎么办 itunes文件被保护怎么办 魅族e1黑屏了怎么办 窗帘打孔的扣环怎么办 棉质裤子掉色怎么办 孕期喝咖啡了怎么办 实体店买到假手机怎么办 派派提现没有那么多好友怎么办 派派提现没有支付宝怎么办 电脑电源不够用怎么办 电脑电源不够会怎么办 中行信用卡异常了怎么办 美借还款后秒拒怎么办 海尔空调关不了怎么办