递归真的很强大,对自己还算挺满意的,第一次就写出了不错的成果

#include<stdio.h>
#include<string.h>
void digui(char[],int ,int,int,int);
char s[1000];
char p[1000];
int flag[1000];
int flagtemp;
int sl,pl;
int main()
{
char stack[200];
while(scanf("%s",s)!=EOF)
{
memset(stack,0,sizeof(stack));
flagtemp=1;
flag[0]=0;
scanf("%s",p);
sl=strlen(s);
pl=strlen(p);
stack[0]=s[0];
flag[0]=0;
printf("[\n");
digui(stack,1,0,0,1);
printf("]\n");
}
return 0;
}
void digui(char stack[],int stemp,int ptemp,int top,int flagtemp)
{
char zhong[200];
int i;
if(ptemp==pl)
{
printf("i ");
for(i=1;i<flagtemp;i++)
{
if(!flag[i])
printf("i");
else printf("o");
putchar(' ');
}
printf("\n");
return ;
}
if(stemp==sl+1) 
{
return ;
}
if(top==-1||stack[top]!=p[ptemp])
{
flag[flagtemp]=0;
stack[++top]=s[stemp];
digui(stack,stemp+1,ptemp,top,flagtemp+1);
}
else if(stack[top]==p[ptemp])
{
flag[flagtemp]=0;
stack[++top]=s[stemp];
strcpy(zhong,stack);
digui(stack,stemp+1,ptemp,top,flagtemp+1);
strcpy(stack,zhong);
top--;
flag[flagtemp]=1;
digui(stack,stemp,ptemp+1,top-1,flagtemp+1);
}
}

转载于:https://www.cnblogs.com/yobobobo/archive/2012/05/14/3826848.html

第一个DFS,第一个递归 HDU1515相关推荐

  1. 蓝桥杯C++ AB组辅导课 第一讲 递归与递推 Acwing

    例题 AcWing 92. 递归实现指数型枚举 从 1∼n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案. 输入格式 输入一个整数 n. 输出格式 每行输出一种方案. 同一行内的数必须升序 ...

  2. 【重点!DFS/记忆化递归 + BFS】LeetCode 133. Clone Graph

    LeetCode 133. Clone Graph Solution1: DFS/记忆化递归,参考网址:http://www.cnblogs.com/grandyang/p/4267628.html ...

  3. DFS回溯-函数递归-xiaoz triangles

    题目:小z 的三角形 ★实验任务 三角形的第1 行有n 个由"+"和"-"组成的符号,以后每行符 号比上行少1 个,2 个同号下面是"+", ...

  4. 第章量子计算机产业,又一个世界第一,九章量子计算机诞生,中国战斗机智能空战不是梦...

    原标题:又一个世界第一,九章量子计算机诞生,中国战斗机智能空战不是梦 近日,中国新型量子计算机"九章"( 76个光子的量子计算原型机)的诞生,引发了热议,因为其先进程度远超大家的想 ...

  5. 给定一个n节点的二叉树,写出一个O(n)时间递归过程,将该树每个节点关键字输出(算法导论第十章10.4-2)

    给定一个n节点的二叉树,写出一个O(n)时间递归过程,将该树每个节点关键字输出 (算法导论第十章10.4-2) #include <iostream> template<typena ...

  6. 关于android开发中使用VideoView切换视频源时同时改变大小会出现下一个视频第一帧为上一个视频最后显示帧问题解决

    最近开发中使用到VideoView切换视频源时同时改变大小会出现下一个视频第一帧为上一个视频最后显示帧,网上找了很多资料想清除视频界面内容,但VideoView没有提供相关接口,尝试使用Surface ...

  7. 【记忆化搜索】【dfs】【递归】Chocolate

    Chocolate 题目大意: 有一块巧克力(每一个单位有一定的美味值),判断是否可以把他分为k块美味值相等的小巧克力 原题: 题目描述 Charlie 有一块巧克力. 这块巧克力是矩形的,有 n 行 ...

  8. 一个例子搞懂递归CTE

    CTE是SQL表表达式中的一种,全称为通用表表达式,使用CTE就好像建了一个临时表,在查询中可以直接调用这个临时表,从而增加代码的可读性,CTE通常不会在性能上给我们带来提升.CTE格式为: with ...

  9. 【学习笔记 · 具体数学】第一章 递归问题

    第一章通过三个样本问题来认识递归问题.它们: ①足够经典,被反复研究: ②都通过递归方法解决,每个问题都依赖于形式相同但规模更小的问题: ③都能够使用计算机程序实现. 目录 1 汉诺塔问题 Hanoi ...

最新文章

  1. 10 行代码玩转 NumPy!
  2. C++接收字符串数组_C++模拟面试:从数组“紧凑”操作说开来
  3. jquery 属性操作
  4. python ipaddr_python之IP地址或IP段处理模块-ipaddr
  5. erlang虚拟机精要(2)-异步信号时间功能
  6. angular6继承类注意几点:
  7. ajax 用户验证js,js ajax验证用户名
  8. 地理信息革命Geospatial Revolution
  9. [转载] flutter开发桌面程序_在开始使用Flutter开发应用程序之前要了解的5条提示
  10. 都不写代码,架构师整天在干啥?
  11. Atitit.每周末总结 于每周一计划日程表 流程表 v8 Ver history V8 add stock chk -------------import Stock chk.. 上周遗漏日
  12. 自动驾驶的Pipline -- 如何打造自动驾驶的数据闭环?(上)
  13. 计算机毕业设计php的村镇干部绩效考核系统
  14. 职工档案管理系统报告与c语言,[职工档案管理系统C语言.doc
  15. 识别三极管和场效应管引脚
  16. 年终盘点|知数堂2017年度好文
  17. 中小企业管理信息化的一些事(一)
  18. C#利用QQ游戏破解QQ密码
  19. 阿哈罗诺夫——玻姆效应(AB效应)
  20. lisp封装为vlx方法_将VLDCL的FAS编译进VLX

热门文章

  1. 商业认知,在投资的时候,为什么别人是经常赚钱,而你却是亏损不断,让我们亏损的根源是什么?
  2. 尽量少一点甲方思维,也尽量少一点弱势方思维
  3. 手机的寿命到底是多久,你多长时间换一次手机?
  4. 以太坊共识引擎源码分析
  5. Error: failed to unmarshal json. invalid character '\'' looking for beginning of value解决方案
  6. P1 Human Pose Estimation人体姿态综述估计调研
  7. Qt4_你可以使用加农炮了
  8. linux中的 127.0.0.1和0.0.0.0和::
  9. SQL Server中的文件流
  10. sql面试题sql语句_第二轮SQL面试问题