比赛 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;
}