TOPIC

10% WA, alguém pode me ajudar?

Enzo Vaghetti asked 2 years ago

Tá funcionando com todos os casos de teste dados pelo enunciado, já testei no udebug alguns casos de teste feitos por mim e tá funcionando, não sei o que mais fazer pra esse exericio dar accepted

#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <map>

int main() {
    int quantTrocados, parada;
    char a, b;

    std::map<char, char> mapaTrocas;
    std::string entrada;

    std::cin >> quantTrocados >> parada;
    std::cin.ignore();
    for (int i = 0; i < quantTrocados; i++) {
        std::cin >> a >> b;

        mapaTrocas[a] = b;
        if (mapaTrocas.find(b) == mapaTrocas.end())
            mapaTrocas[b] = a;
    }

    std::cin.ignore();
    for (int i = 0; i < parada; i++) {
        std::getline(std::cin, entrada);

        for (auto& it : entrada) {
            auto troca = mapaTrocas.find(it);

            if (troca != mapaTrocas.end()) {
                std::vector<char> trocados;

                while (std::find(trocados.begin(), trocados.end(), troca->first) == trocados.end()) {
                    it = troca->second;

                    trocados.push_back(troca->second);
                    troca = mapaTrocas.find(troca->second);
                }
            }
        }
        std::cout << entrada << std::endl;
    }
    return 0;
}

This topic has not been answered yet. Be the first!

Remember not post solutions. Your post may be reviewed by our moderators.