【HDU - 2203】 亲和串 (思维题,可选KMP)
生活随笔
收集整理的這篇文章主要介紹了
【HDU - 2203】 亲和串 (思维题,可选KMP)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題干:
Problem Description 人隨著歲數的增長是越大越聰明還是越大越笨,這是一個值得全世界科學家思考的問題,同樣的問題Eddy也一直在思考,因為他在很小的時候就知道親和串如何判斷了,但是發現,現在長大了卻不知道怎么去判斷親和串了,于是他只好又再一次來請教聰明且樂于助人的你來解決這個問題。親和串的定義是這樣的:給定兩個字符串s1和s2,如果能通過s1循環移位,使s2包含在s1中,那么我們就說s2 是s1的親和串。
Input 本題有多組測試數據,每組數據的第一行包含輸入字符串s1,第二行包含輸入字符串s2,s1與s2的長度均小于100000。
Output 如果s2是s1的親和串,則輸出"yes",反之,輸出"no"。每組測試的輸出占一行。
Sample Input AABCD CDAA ASD ASDF
Sample Output yes no
解題報告:小思維題。稍后貼上KMP代碼。
ac代碼:
#include<cstdio> #include<iostream> #include<cctype> #include<cstring>using namespace std;char s1[200000 + 5]; char s2[100000 + 5];int len1,len2; int main() {while(cin>>s1>>s2) {len1=strlen(s1);len2=strlen(s2);strcat(s1,s1); // printf("%s",s1);if(strstr(s1,s2)!=NULL) {printf("Yes\n");}else printf("No\n");}return 0 ; }總結:
總結
以上是生活随笔為你收集整理的【HDU - 2203】 亲和串 (思维题,可选KMP)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ipssvc.exe - ipssvc是
- 下一篇: 机器学习笔记(六):正则化