ZOJ Problem Set - 3643 Keep Deleting
2024-10-18 22:29:17
题目大意:
给出a和b串,a是b串的子串,如果b串有连续的a串,那么就将b串的a串删除,问删除多少次;
题目分析:
打比赛的时候没敲出来,后来想到用栈的思想去模拟就行,网上还有用KMP+栈去做的,没有KMP,也能AC,一会去学习一下KMP算法
#include<cstdio>
#include<cstring>
#include<iostream>
#include<cmath>
#include<algorithm>
#define INF
#define maxn
using namespace std;
char a[],b[],c[];
int main()
{ while(scanf("%s %s",a,b)!=EOF)
{
int len_a=strlen(a);
int len_b=strlen(b);
int fro=,ed=;
int sum=;
for(int i=len_b-; i>=; i--)
{
c[fro++]=b[i];
if(fro<len_a) continue;
int j,t;
for(j=fro-,t=; j>=&&t<len_a; j--,t++)
{
if(c[j]!=a[t])
break;
}
if(t==len_a)
{
sum++;
fro=fro-len_a;
} }
printf("%d\n",sum);
}
return ;
}
最新文章
- css
- 一步一步开发Game服务器(三)加载脚本和服务器热更新(二)完整版
- 移动端web开发技巧
- img标签中的alt属性在IE6/7/8中的兼容问题
- Xcode清除缓存、清理多余证书
- linux查看及改变运行级别
- 《linux备份与恢复之二》3.19 dump(文件系统备份)
- Aliasing 走样
- require 和 file_get_contents
- 全排列算法(字典序法、SJT Algorithm 、Heap&#39;s Algorithm)
- 教程-Close、Halt、terminate、ExitProcess的区别
- inline-block(行内区块元素)的详解和应用
- HDu -2844 Coins多重背包
- 转:Oracle弃用sun.reflect.Reflection.getCallerClass
- unity3d在菜单栏,一键设置Player setting及自动打包并设置apk的存储位置
- 定时器解决js长时间运行脚本问题
- 多线程之Synchronized锁的基本介绍
- Oracle定时任务Job笔记
- SQL server 生成数据字典
- 2018acm-icpc徐州站后记