1 条题解
-
0
C++ :
#include<bits/stdc++.h> using namespace std; const int maxn = 5e6 + 10; int n; char s[maxn]; int main() { cin >> n; for (int i = 0; i < n; i++) cin >> s[i]; int k = 0, i = 0, j = 1; while (k < n && i < n && j < n) { if (s[(i + k) % n] == s[(j + k) % n]) { k++; } else { if (s[(i + k) % n] > s[(j + k) % n]) i = i + k + 1; else j = j + k + 1; if (i == j) i++; k = 0; } } cout << min(i, j); return 0; }
- 1
信息
- ID
- 1008
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 10
- 标签
- 递交数
- 2
- 已通过
- 2
- 上传者