该怎么做、每一个人的人生都应该自己掌握、你给不了别人一切、你也不懂别人的忧伤、
微笑不代表快乐、哭泣不一定悲伤
不努力怎么让关心你的人幸福、不努力怎么让看不起你的人绝望、
我用生命在奋斗——lx_Zz
—————————————————————————————————————————————————————————————
————————————————————————— 华丽的切割线 ————————————————————————————
—————————————————————————————————————————————————————————————
10678686 | 2014-05-05 03:11:35 | Accepted | 468MS | 4224K | C++ |
经过验证、发现我刚刚YY的算法目測是正确的、、O(∩_∩)O哈哈~效果还不错。。
。→_→
淡淡改了一下、毕竟都是类似的题、废话不多说、直接上代码:
#include#include #include using namespace std;int str1[10005];int str2[1000005];int next[10005];int main(){ int T; scanf("%d",&T); while(T--) { int n,m; scanf("%d%d",&n,&m); for(int i=0;i =len1) { ans=i-m+1; break; } } else { while(str1[j]!=str2[i]) { if(j==0) { ff=1; break; } j=next[j-1]; if(j==-1) { ff=1; break; } } if(ff) { if(str1[0]==str2[i]) { i++;j=1; } else { i++;j=0; } } } } printf("%d\n",ans); } return 0;}
版权声明:本文博客原创文章,博客,未经同意,不得转载。