博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LA 5844 Leet (dfs 搜索)
阅读量:7039 次
发布时间:2019-06-28

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

  题意是判断两个字符串是否相同,相同的意思是将第一个串相应的字符用对应的字符串代替,如果能得到第二个串,那么就是相同。

  因为代替的字符串最长只有3,所以可以简单的用搜索解决。

代码如下:

View Code
1 #define REP(i, n) for (int i = 0; i < (n); i++) 2  3 char sub[30][5]; 4 char buf[20], leet[100]; 5 int mx; 6  7 bool dfs(char *x, char *y) { 8     if (!*x && !*y) return true; 9     if (!*x || !*y) return false;10     char *t = sub[*x - 'a'];11     if (*t) {12         while (*t) {13             if (*t == *y) t++, y++;14             else return false;15         }16         return dfs(x + 1, y);17     } else {18         REP(i, mx) {19             *(t++) = *(y++);20             *t = 0;21             if (dfs(x + 1, y)) return true;22             if (!*y) break;23         }24         sub[*x - 'a'][0] = 0;25         return false;26     }27 }28 29 int main() {30     int T;31     scanf("%d", &T);32     while (T-- && ~scanf("%d", &mx)) {33         _clr(sub);34         scanf("%s%s", buf, leet);35         printf("%d\n", dfs(buf, leet));36     }37     return 0;38 }

 

——written by Lyon

 

 

转载于:https://www.cnblogs.com/LyonLys/archive/2013/02/23/LA_5844_Lyon.html

你可能感兴趣的文章
单链表二[不带头节点链表]
查看>>
Spring mvc 拦截器
查看>>
MySQL GROUP BY 和GROUP_CONCAT的一些用法
查看>>
## mysqldump 导出数据库各参数详细说明
查看>>
java中URL编码和中文相互转换
查看>>
影评:《云图》:生命并非微不足道
查看>>
hibernate4之一对一关系映射(二)
查看>>
我的友情链接
查看>>
Android第五课 编译错误分析
查看>>
VS_远程调试
查看>>
博为峰Java技术题 ——JavaSE Java实现在不同编码之间进行文件转换
查看>>
Throws与Throw
查看>>
php趣味编程 - php求黑色星期五
查看>>
zabbix安装
查看>>
ELK之权限管理
查看>>
×_7_12_2013 I: Light on or off
查看>>
JIT
查看>>
巧用escalations限制Nagios报警次数 - [Nagios
查看>>
Entity SQL与LINQ TO Entity的本质区别
查看>>
python unittest 深入failfast及实际应用【示例】
查看>>