博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 5311 Hidden String
阅读量:5918 次
发布时间:2019-06-19

本文共 2352 字,大约阅读时间需要 7 分钟。

我的方法是将题目中给的那个串(anniversary)拆分成三段。枚举所有情况,也就100多种的样子。

每一种情况去判断在输入的串中能不能找到这三个串,并且不相交。

o(︶︿︶)o 唉,思路很快就有了,代码写得丑,找错找了半天,最终在场外Submit的1A了。

写题时候脑瘫,还搞了个KMP上去。。。其实长度为100的串,暴力和KMP差距并不是很大,似乎都能 0ms AC。

按照自己的思路来能过这题,已经很满足了。。。

 

#include
#include
#include
#include
using namespace std;char s[1000];char y[100]="anniversary";char one[100],two[100],three[100];char R[1000];const int N = 1000002;int Next[N];char S[N], T[N];int slen, tlen;int tot;int flag;int lenZ;void getNext(){ int j, k; j = 0; k = -1; Next[0] = -1; while(j < tlen) if(k == -1 || T[j] == T[k]) Next[++j] = ++k; else k = Next[k];}int KMP_Index(){ int i = 0, j = 0; getNext(); while(i < slen && j < tlen) { if(j == -1 || S[i] == T[j]) { i++; j++; } else j = Next[j]; } if(j == tlen) return i - tlen; else return -1;}int main(){ int TT; int i,j,k; scanf("%d",&TT); while(TT--) { scanf("%s",s); strcpy(R,s); lenZ=strlen(s); flag=0; int i,j; for(i=1;i<=10;i++) { for(j=i;j<=9;j++) { strcpy(s,R); int u=0; for(k=0;k<=i-1;k++) one[u]=y[k],u++; one[u]='\0'; u=0; for(k=i;k<=j;k++) two[u]=y[k],u++; two[u]='\0'; u=0; for(k=j+1;k<11;k++) three[u]=y[k],u++; three[u]='\0'; u=0; //printf("%s %s %s\n",one,two,three); if(i==1&&j==2) { strcpy(one,"anniv"); strcpy(two,"ers"); strcpy(three,"ary"); } int lenone=strlen(one); int lentwo=strlen(two); int lenthree=strlen(three); strcpy(S,s); strcpy(T,one); slen = strlen(S); tlen = strlen(T); int oneshou=KMP_Index(); int ii; if(oneshou!=-1) { S[0]=0; tot=0; lenZ=strlen(s); for(ii=oneshou+lenone;ii

 

转载于:https://www.cnblogs.com/zufezzt/p/4677120.html

你可能感兴趣的文章
手机免ROOT支持Xposed
查看>>
配置ReactNative开发环境
查看>>
WireShark黑客发现之旅(8)—针对路由器的Linux木马
查看>>
【译】为什么教Ruby
查看>>
newrelic python agent 源码分析-1
查看>>
马克笔记—Android 端开源的 Markdown 笔记应用
查看>>
程序员全国不同地区,微信(面试 招聘)群。
查看>>
JavaEE进阶知识学习-----SpringCloud(一)概述
查看>>
Android自定义view-手把手教你画直方图,饼图.
查看>>
[算法总结] 17 题搞定 BAT 面试——链表题
查看>>
Spring boot 入门(一)
查看>>
Kotlin实现单例模式
查看>>
React Native 上传图片至七牛云存储
查看>>
Android开发:使用EasyPay打造全能移动支付框架
查看>>
土鳖的jsp改造
查看>>
不知道是不是最通俗易懂的《数据一致性》剖析了
查看>>
什么样的经历,才能领悟成为架构师?
查看>>
深入学习Redis(3):主从复制
查看>>
Java集合(3)一 红黑树、TreeMap与TreeSet(上)
查看>>
JavaScript for循环
查看>>