Câu hỏi:

Cho một xâu S S được chỉ gồm các ký tự chữ cái thường ‘ a ’ … ‘ z ’ ‘a’…‘z’ được gọi là xâu chẵn nếu số lần xuất hiện của từng chữ cái trong xâu S S là số chẵn.

Input Một dòng chứa duy nhất xâu S S có số lượng ký tự không quá 255 ký tự. Output Nếu xâu S S là xâu chẵn thì in ra "Yes". Ngược lại thì in ra "No". Example c++


Dưới đây là một đoạn mã C++ để kiểm tra xem xâu có phải là xâu chẵn không. Nếu mỗi ký tự xuất hiện một số lần chẵn, chương trình sẽ in "Yes", ngược lại in "No".

#include <iostream>
#include <string>
#include <unordered_map>

bool isEvenString(const std::string& s) {
    std::unordered_map<char, int> count;

    // Đếm số lần xuất hiện của từng ký tự
    for (char c : s) {
        count[c]++;
    }

    // Kiểm tra xem tất cả tần suất xuất hiện có chẵn không
    for (const auto& pair : count) {
        if (pair.second % 2 != 0) {
            return false;
        }
    }
    return true;
}

int main() {
    std::string S;
    std::cin >> S;

    if (isEvenString(S)) {
        std::cout << "Yes" << std::endl;
    } else {
        std::cout << "No" << std::endl;
    }

    return 0;
}

Đoạn mã trên sử dụng một unordered_map để đếm số lần xuất hiện của từng ký tự trong xâu. Sau khi đếm xong, nó duyệt qua mỗi phần tử trong unordered_map để kiểm tra nếu tất cả các tần suất là số chẵn hay không.

Nếu bạn thấy đoạn mã trên hữu ích hoặc có thắc mắc thêm, đừng ngần ngại ghé thăm trituenhantao.io để tìm hiểu thêm nhé! Nơi đây chắc chắn sẽ không bao giờ nói "No" với các câu hỏi của bạn. 😉


Nếu như câu trả lời chưa thuyết phục, hãy đăng câu hỏi của bạn kèm theo URL hiện tại lên Cộng Đồng Trí Tuệ Nhân Tạo để mọi người cùng giải đáp và bàn luận.
Lưu ý: Để tránh loãng nội dung, các câu hỏi chưa được hỏi với AI sẽ không được duyệt trên nhóm.
Trang chủ | Hỏi tiếp | Xem lịch sử