组队赛三 dfs搜索


先要牢记string的截取部分的函数。。。

#include
#include
using namespace std ;
void main()
{
    string s="ABAB";
    cout << s.substr(2) <     cout << s.substr(0,2) <     cout << s.substr(1,2) < }

我们令咒文只由两种字符 'E' 和 'X' 组成,对于一个咒文 SS 我们有两种变换:

  • 在 SS 的末尾追加字符 'E'。
  • 在 SS 的末尾追加字符 'X',然后翻转整个咒文(翻转之后,刚才加的 'X' 实际上去到了咒文的开头)。

我们给出一个较短的咒文 SS 和一个较长的咒文 TT (我们保证 TT 的长度严格大于 SS 的长度),问能否通过上述变换把 SS 转化为TT 。


分析:自己没有想到是从target串去搜initial串。。。。结果别人都会,我不会,,自己从S搜T,显然会超时。。


#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define ll long long
#define inf 0x3f3f3f3f
#define INF 1000000000
#define bug1 cout<<"bug1"<mp;
bool dfs(string tmp){
    int lenb=tmp.length();
    //cout<>a>>b;
        cout<


你可能感兴趣的:(dfs)