单向双轨道

题述《https://www.luogu.org/fe/problem/P1139

#include<stdio.h>
#include<string.h>
int n,bstep=107;
char s[57];
char A[57],B[57],C[57],D[57];
char preres[107][5],res[107][5];
int book;
void dfs(char h,char L,char R,int step)
{
   int Al,Bl,Cl,Dl;
   char nh;int l;
   int i,j,k;
   if(step>bstep-1||bstep<n)
      return ;
   for(i=0;D[i];++i)
      if(s[n-i-1]!=D[i])
         return ;
   if(bstep-step<strlen(A)+strlen(B)+strlen(C)+1)
      return ;
   if(strlen(D)==n)
   {
         for(i=0;i<step;++i)
         {
            res[i][0]=preres[i][0];
            res[i][1]=preres[i][1];
            res[i][2]=preres[i][2];
         }
         bstep=step;
         return ;
   }
   l=strlen(A);
   if(l&&(A[l-1]!=h))
   {
      Dl=strlen(D);
      nh=A[l-1]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值