World Robot Contest2025-2026Algorithm Application ThemeJunior Highwrc.hao.work
WRC
Contest Archive / Structured Dossiers青少年算法应用训练档案馆

把训练题、知识点、执行证据和最终解题档案统一归档成可直接浏览的竞赛资料库。

Archive30 Cases

四大文化赛道完整展开

AccessHTTPS

完整题面 / 题解 / 运行证据

No Rounded CornersTailwind FirstDossier Ready
03-execution/run-002/source-snapshot/main.cpp

main.cpp

站内文件视图直接读取仓库内容,Markdown 使用文档排版渲染,其余文本文件保持原始排版,方便校对训练证据链。

文件类型.cpp

10-cases/s4-jh-01-pattern-restore/03-execution/run-002/source-snapshot/main.cpp

#include <iostream>
#include <string>
#include <vector>

using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int k;
    string pattern;
    if (!(cin >> k >> pattern)) {
        return 0;
    }
    vector<vector<int>> counts(k, vector<int>(26, 0));
    for (int i = 0; i < static_cast<int>(pattern.size()); ++i) {
        if (pattern[i] != '?') {
            counts[i % k][pattern[i] - 'A']++;
        }
    }
    vector<char> fill(k, 'A');
    for (int group = 0; group < k; ++group) {
        int best_count = -1;
        char best_char = 'A';
        for (int offset = 0; offset < 26; ++offset) {
            if (counts[group][offset] > best_count) {
                best_count = counts[group][offset];
                best_char = static_cast<char>('A' + offset);
            }
        }
        fill[group] = best_char;
    }
    int replaced = 0;
    for (int i = 0; i < static_cast<int>(pattern.size()); ++i) {
        if (pattern[i] == '?') {
            pattern[i] = fill[i % k];
            ++replaced;
        }
    }
    cout << "restored=" << pattern << "\n";
    cout << "replaced=" << replaced << "\n";
    return 0;
}