比赛 |
2025.4.12 |
评测结果 |
WWWEEEEEEEE |
题目名称 |
It s Mooin Time III |
最终得分 |
0 |
用户昵称 |
健康铀 |
运行时间 |
1.744 s |
代码语言 |
C++ |
内存使用 |
3.22 MiB |
提交时间 |
2025-04-12 10:52:40 |
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
const int N = 20000 + 20;
char a[N];
vector<string> s;
int vis[N];
int main() {
freopen("Time.in","r",stdin);
freopen("Time.out","w",stdout);
ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int n, f;
cin >> n >> f >> (a + 1);
for (char i = 'a'; i <= 'z'; ++i) {
for (char j = 'a'; j <= 'z'; ++j) {
if (i == j) continue;
memset(vis, 0, sizeof(vis));
int cnt = 0;
for (int id = 1; id <= n - 2; ++id) {
if (a[id] == i && a[id+1] == j && a[id+2] == j && !vis[id] && !vis[id+1] && !vis[id+2]) {
cnt++;
vis[id] = vis[id+1] = vis[id+2] = 1;
}
}
if (cnt >= f) {
s.push_back(string(1, i) + string(2, j));
} else if (cnt == f - 1) {
for (int id = 1; id <= n - 2; ++id) {
if (a[id] == i && a[id+1] == j && a[id+2] == j && !vis[id] && !vis[id+1] && !vis[id+2]) {
s.push_back(string(1, i) + string(2, j));
break;
}
}
}
}
}
cout << s.size() << '\n';
for (auto &str : s) cout << str << '\n';
return 0;
}