1 #include<bits/stdc++.h> 2 using namespace std; 3 const int maxn = 1e5+5; 4 char s[maxn]; 5 int get_min_pos() { 6 int ans = 0, cmp = 1, k = 0, t, len = strlen(s); 7 while (ans<len && cmp<len && k<len) { 8 int t = s[(ans+k)%len]-s[(cmp+k)%len]; 9 if (!t) k++; 10 else { 11 if (t > 0) ans += k+1; 12 else cmp += k+1; 13 if (ans == cmp) cmp++; 14 k = 0; 15 } 16 } 17 return min(ans,cmp); 18 } 19 int main() { 20 int n; scanf("%d",&n); 21 scanf("%s",s); 22 if (get_min_pos() == 0) puts("NO"); 23 else puts("YES"); 24 return 0; 25 }
Rabbit的字符串 字符串最小表示法
猜你喜欢
转载自www.cnblogs.com/wstong/p/11707939.html
今日推荐
周排行