题目链接:UVAive 5844 Leet

DES:大意是给出两个字符串。第一个字符串里的字符可以由1-k个字符代替。问这两个字符串是不是相等。因为1<=k<=3。而且第一个字符串长度小于等于15.所以。对第一个字符串里的每一个字符尝试匹配1-k个字符看是否有可能相等就好了。

比赛的时候想到这是dfs类暴力,但是map<char, char*>没用过。不知道怎么记录了。而且dfs本身就不太会用。依然感觉dfs很奇妙。

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <map>
using namespace std; int k;
char s1[], s2[];
int len1, len2;
bool flag;
map<char, char *>mm; void dfs(int l1, int l2)
{
if (flag) return;
if (l1 == len1 && l2 == len2)
{
flag = true;
return;
}
if (l1 >= len1 || l2 >= len2) return;
if (mm[s1[l1]]) //如果这个字符以前出现过。像以前一样匹配。
{
char *temp = mm[s1[l1]]; // 这里用指针。不然不能直接赋值。
int lent = strlen(temp);
for (int i=, j=l2; i<lent; ++i, ++j) //是不是可以匹配。
{
if (temp[i] != s2[j])
return;
}
dfs(l1+, l2+lent); //继续匹配第一个字符串的下一个字符。
}
else //如果没出现过。匹配。
{
for (int i=; i<=k; ++i) //尝试把这个字符匹配给对应1-k个字符。k种。
{
char temp[]; //数组。用指针程序会崩。
memset(temp, , sizeof(temp));
for (int j=; j<i; ++j)
{
temp[j] = s2[l2+j];
}
mm[s1[l1]] = temp;
dfs(l1+, l2+i); //继续匹配下一个字符、
mm[s1[l1]] = ; //回溯。
}
}
} int main()
{
int t;
//ios::sync_with_stdio(false);
cin >> t;
//scanf("%d", &t);
while(t--)
{
//scanf("%d%s%s", &k, s1, s2);
cin >> k >> s1 >> s2;
flag = false;
mm.clear();
len1 = strlen(s1);
len2 = strlen(s2);
dfs(, );
if (flag) cout << << endl;
else cout << << endl;
}
return ;
}

(⊙o⊙)哦....学了一个新的东西....ios::sync_with_stdio(false);听说用了它..C++就可以接近C的时间啦。。。。。

试验了一下,,,,

aaarticlea/png;base64,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" alt="" />

分别是用STL & C++ , C, C++...

UVALive 5844 dfs暴力搜索的更多相关文章

  1. UVALive 5107 dfs暴力搜索

    题目链接:A hard Aoshu Problem DES:给三个字符串,包含的字符是A-E范围内的.长度都不超过8.每个字符可以而且只可以匹配一个数字.两个字符不能匹配相同的数字.前两个式子之间可以 ...

  2. hdu 1427 速算24点 dfs暴力搜索

    速算24点 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Problem De ...

  3. ACM: Gym 100935G Board Game - DFS暴力搜索

    Board Game Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u  Gym 100 ...

  4. 洛谷P1019——单词接龙(DFS暴力搜索)

    https://www.luogu.org/problem/show?pid=1019#sub 题目描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母, ...

  5. [HDU 1427]速度计算24点(DFS暴力搜索)

    主题连接:  pid=1427">http://acm.hdu.edu.cn/showproblem.php?pid=1427 思路:简单的DFS.dfs(sum,next,p)表 ...

  6. poj 3050 Hopscotch DFS+暴力搜索+set容器

    Hopscotch Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 2774 Accepted: 1940 Description ...

  7. ACM 暴力搜索题 题目整理

    UVa 129 Krypton Factor 注意输出格式,比较坑爹. 每次要进行处理去掉容易的串,统计困难串的个数. #include<iostream> #include<vec ...

  8. [luogu 1092] 虫食算 (暴力搜索剪枝)

    传送门 Description Input 包含四行. 第一行有一个正整数 (N≤26). 后面的三行,每行有一个由大写字母组成的字符串,分别代表两个加数以及和.这3个字符串左右两端都没有空格,从高位 ...

  9. HDU 3131 One…Two…Five! (暴力搜索)

    题目链接:pid=3131">HDU 3131 One-Two-Five! (暴力搜索) 题意:给出一串数字,要求用加,减,乘,除(5/2=2)连接(计算无优先级:5+3*6=8*6= ...

随机推荐

  1. 20145307陈俊达_安卓逆向分析_dex2jar&jd-gui的使用

    20145307陈俊达_安卓逆向分析_dex2jar&jd-gui的使用 引言 这次免考选择了四个项目,难度也是从简到难,最开始先写一个工具的使用 想要开发安卓首先要会编写代码,但是想要逆向分 ...

  2. linux内核分析 第18章读书笔记

    十八章 调试 一.内核调试概述 1.需要面对的 一个确定的bug 一个藏匿bug的内核版本 相关的内核代码的知识和运气 2.艰难的调试工作 重现bug很困难:大部分bug通常都不是行为可靠而且定义明确 ...

  3. Windows10 蓝屏 DRIVER_IRQL_NOT_LESS_OR_EQUAL (vfilter.sys)的可能解决方法

    早上我的笔记本从休眠中开机的时候突然出现了蓝屏,这个蓝屏在前几天出现过了.两次提示的终止代码都一样.我的笔记本型号是DELL XPS15 9560 我的笔记本配置: 类别 型号 内存 16GB DDR ...

  4. Codeforces Round#413 Problem A - C

    Problem#A Carrot Cakes vjudge链接[here] (偷个懒,cf链接就不给了) 题目大意是说,烤面包,给出一段时间内可以考的面包数,建第二个炉子的时间,需要达到的面包数,问建 ...

  5. Asterisk1.8 转码策略分析

    最近在修改asterisk转码和编码协商的问题,发现asterisk的转码策略的选择还是有些问题的(基于1.8.9.3版本).——————————————相关的CLI命令转码路径的调试命令:core ...

  6. HTML切换页面IE版本

    <!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--><!--[if IE]> 所有的IE可识别 <![e ...

  7. 3D CNN for Video Processing

    3D CNN for Video Processing Updated on 2018-08-06 19:53:57 本文主要是总结下当前流行的处理 Video 信息的深度神经网络的处理方法. 参考文 ...

  8. c++之数组形参

    1.问题,最近看项目log模块,_log模板函数中的一个参数竟然看蒙x了.函数原形是这样: template<size_t size>void _Log(char (&strDes ...

  9. poj 1330 Nearest Common Ancestors lca 在线rmq

    Nearest Common Ancestors Description A rooted tree is a well-known data structure in computer scienc ...

  10. PHP获取固定概率

    public static function getFixRand($weight) { if ((int)$weight < 0 || (int)$weight > 100) { ret ...