Chọn đội tuyển

Xem dạng PDF

Gửi bài giải

Điểm: 0,01 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: CHONDOI.INP
Output: CHONDOI.OUT

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Để chuẩn bị cho kỳ thi học sinh giỏi tỉnh, thầy Minh muốn thành lập đội tuyển học sinh giỏi môn tin gồm ~3~ học sinh từ ~N~ học sinh, tên học sinh thứ ~i~ là ~S_i~. Vì các học sinh của thầy đều học giỏi nên thầy phải đưa ra điều kiện chọn đội như sau:

  • Tên của mỗi học sinh được chọn phải bắt đầu bằng kí tự H, S, G, P, hoặc T.

  • Tên các em học được chọn phải có chữ cái đầu đôi một khác nhau.

Yêu cầu: Em hãy viết chương trình cho biết thầy Minh có bao nhiêu cách chọn đội tuyển gồm ~3~ học sinh thoả mãn điều kiện trên.

Input

Vào từ tệp văn bản CHONDOI.INP:

  • Dòng ~1~ chứa số nguyên dương ~N~ (~1 \le N \le 10^5~)

  • ~N~ dòng sau, dòng thứ ~i~ là tên học sinh ~S_i~ (không có hai học sinh nào có tên giống nhau) có độ dài không quá ~10~ chỉ gồm các kí tự chữ cái in hoa.

Output

Đưa ra tệp CHONDOI.OUT một số nguyên là số các chọn ~3~ học sinh vào đội tuyển thoả mãn điều kiện trên.

Sample Input 1

5
HONG
SANG
GIANG
ANH
HANH

Sample Output 1

2

Notes

(Hai cách chọn 3 học sinh thoả mãn điều kiện: (HONG, SANG, GIANG); (SANG, GIANG, HANH))


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • -1
    tranhongminh21082007  đã bình luận lúc 17, Tháng 11, 2025, 15:28
    #include <bits/stdc++.h>
    using namespace std;
    
    int main() {
        ios::sync_with_stdio(false);
        cin.tie(nullptr);
        freopen("CHONDOI.INP","r",stdin);
        freopen("CHONDOI.OUT","w",stdout);
        int n;
        cin >> n;
        map&lt;char, long long> cnt;
        vector<char> c = {'H', 'S', 'G', 'P', 'T'};
    
        for (auto x : c) cnt[x] = 0;
    
        for (int i = 0; i < n; i++) {
            string s;
            cin >> s;
            char f = s[0];
            if (cnt.count(f)) cnt[f]++;
        }
    
        long long res = 0;
        for (int i = 0; i < 5; i++)
            for (int j = i + 1; j < 5; j++)
                for (int k = j + 1; k < 5; k++) {
                    long long a = cnt[c[i]];
                    long long b = cnt[c[j]];
                    long long d = cnt[c[k]];
                    res += a * b * d; 
                }
    
        cout << res;
        return 0;
    }
    

  • -11
    MinhDuck  đã bình luận lúc 28, Tháng 6, 2025, 3:07

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.