hustoj 2766: 寻找主人

来源:互联网 发布:人工智能电影解析 编辑:程序博客网 时间:2024/04/26 04:20

最小表示法;


#include<bits/stdc++.h>using namespace std;const int maxn=1000005;char a[maxn],b[maxn];int n;int mp(char* s){    int i=0,j=1,k=0;    while(i<n && j<n && k<n){        int t=s[(i+k)%n]-s[(j+k)%n];        if(!t)k++;        else{            if(t>0)i+=k+1;            else j+=k+1;            if(i==j)j++;            k=0;        }    }    return min(i,j);}int main(){//freopen("in.in","r",stdin);scanf("%s",a);n=strlen(a);    scanf("%s",b);    int p1=mp(a),p2=mp(b);    for(int k=0;k<n;k++)if(a[(p1+k)%n]!=b[(p2+k)%n]){printf("No\n");return 0;}    printf("Yes\n");    for(int k=0;k<n;k++)printf("%c",a[(p1+k)%n]);}
0 0
原创粉丝点击