用户输出
2
1 2
系统信息
Exited with return code 0
编号 | 题目 | 状态 | 分数 | 总时间 | 内存 | 代码 / 答案文件 | 提交者 | 提交时间 |
---|---|---|---|---|---|---|---|---|
#60668 | #1058. JM的荧光棒工厂 | Accepted | 100 | 103 ms | 2164 K | C++ 11 / 1.2 K | Rhodoks | 2021-07-16 13:58:30 |
#include <bits/stdc++.h>
#define INL inline
#define REG register
#define DB double
#define LDB long double
#define ULL unsigned long long
#define LL long long
#define RPT(i, x, y) for (REG int i = (x); i < (y); i++)
#define DRPT(i, x, y) for (REG int i = (x); i > (y); i--)
#define MST(a, b) memset((a), (b), sizeof(a))
#define MRK() cout << "Mark" << endl;
#define WRT(x) cout << #x << " = " << (x) << endl;
#define MAXN 2100000
#define MAXM 10000
#define MOD 998244353
#define INF 0x3f3f3f3f
#define LLINF 0x3f3f3f3f3f3f3f3f
#define EPS 1e-5
#define _ 0
using namespace std;
char s[MAXN];
int fail[MAXN];
int ans;
stack<int> stk;
void make_fail() {
for (int i = 1, j = 0; s[i]; i++) {
while (j && s[i] != s[j]) j = fail[j - 1];
if (s[i] == s[j])
fail[i] = ++j;
else
fail[i] = 0;
}
}
int main() {
scanf("%s", s);
int len = strlen(s);
make_fail();
int pos = len - 1;
while (1) {
if (fail[pos] != 0) {
stk.push(fail[pos]);
ans++;
pos = fail[pos] - 1;
} else
break;
}
cout << ans << endl;
while (!stk.empty()) {
printf("%d ", stk.top());
stk.pop();
}
// RPT(i,0,len)
// cout<<i<<' '<<fail[i]<<endl;
return ~~(0 ^ _ ^ 0);
}
用户输出
11
1 2 3 4 5 6 7 8 9 10 11
系统信息
Exited with return code 0
用户输出
7
7 14 21 28 35 42 49
系统信息
Exited with return code 0
用户输出
5
1 3 5 16 27
系统信息
Exited with return code 0
用户输出
4
1 7 13 19
系统信息
Exited with return code 0
用户输出
1
2
系统信息
Exited with return code 0
用户输出
2
2 8
系统信息
Exited with return code 0
abababababababababababababababababababababababababababababababababababababababababababababababababab
<199902 bytes omitted>
99999
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 6
<644351 bytes omitted>
用户输出
99999
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84
<644321 bytes omitted>
系统信息
Exited with return code 0
abbbbbbbbbabbbbbabbbbbbbbbbbbbbbbbabbbbbbbbbbbbbbbbbbbbbabbbbbbbabbbbabbbbabbbabababbbbbbabbabbbbbbb
<199653 bytes omitted>
用户输出
1
53
系统信息
Exited with return code 0
utututututututututututututututututututututututututututututututututututututututututututututututututut
<199901 bytes omitted>
99999
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65
<644346 bytes omitted>
用户输出
99999
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 8
<644316 bytes omitted>
系统信息
Exited with return code 0
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
<199902 bytes omitted>
199999
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
<1288797 bytes omitted>
用户输出
199999
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 4
<1288767 bytes omitted>
系统信息
Exited with return code 0
axysaxysaxysaxysaxysaxysaxysaxysaxysaxysaxysaxysaxysaxysaxysaxysaxysaxysaxysaxysaxysaxysaxysaxysaxys
<199902 bytes omitted>
49999
4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 76 80 84 88 92 96 100 104 108 112 116 120
<322128 bytes omitted>
用户输出
49999
4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 76 80 84 88 92 96 100 104 108 112 116 120 124 128 132 136 140 144 148
<322098 bytes omitted>
系统信息
Exited with return code 0