bzoj2176: Strange string

来源:互联网 发布:阿里云 vs aws 编辑:程序博客网 时间:2024/06/05 19:34
#include <cstdio>#include <cstdlib>#include <ctype.h>#define ll long long#define max(a,b) a>b?a:b#define min(a,b) a<b?a:btemplate<typename T>inline T read(T &f){    f=0;    int x=1;    char c=getchar();    while(!isdigit(c)){if(c=='-')x=-1;c=getchar();}    while(isdigit(c))f=f*10+c-'0',c=getchar();    return f=f*x;}typedef unsigned char uch;const int maxn=10000005;int n;uch A[maxn];#define pos_i (i+k)%n#define pos_j (j+k)%nint main(){    scanf("%d\n",&n);    for(int i=0;i<n;i++)        A[i]=getchar();    int i,j,k;    i=0,j=1,k=0;    while(i < n && j < n){        k=0;        while(A[pos_i]==A[pos_j]&&k<n)k++;        if(k==n)            break;        if(A[pos_i]>A[pos_j])            i=i+k+1;        else            j=j+k+1;        if(i==j)            j++;    }    i=min(i,j);    for(k=0;k<n;k++)        putchar(A[pos_i]);    putchar('\n');      return 0;}