HY002 - Bảng tần số

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Nguồn bài:
Chuyên Sơn La Online Judge (CLSOJ)
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, JavaScript, Kotlin, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Viết chương trình nhập vào mảng một chiều các số nguyên (giá trị tuyệt đối không lớn hơn ~10^9~) và in ra dãy các giá trị khác nhau của mảng đã cho, mỗi giá trị xuất hiện bao nhiêu lần. Các giá trị được liệt kê từ nhỏ nhất đến lớn nhất.

Dữ liêu:

  • Dòng đầu tiên ghi ~n\ (n≤1000)~;
  • Các dòng tiếp theo ghi lần lượt các phần tử của dãy đã cho.

Kết quả:

  • Dòng đầu tiên ghi ~K~ là số lượng các giá trị khác nhau;
  • ~K~ dòng tiếp theo, mỗi dòng ghi hai số lần lượt là giá trị và số lượng phần tử đạt giá trị này.

Ví dụ:

Dữ liệu:
6
5 -2 4 5 -2 5
Kết quả:
3
-2 2
4 1
5 3

Bình luận

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



  • 0
    LiuChi_3007  đã bình luận lúc 26, Tháng 12, 2023, 16:50

    Hỗ trợ mọi người nha!!

    include<bits/stdc++.h>

    using namespace std; main(){ int n;cin>>n; map<int,int> mp; for(int i=0;i<n;i++){ int x;cin>>x; mp[x]++; } cout << mp.size() << endl; for(auto it:mp){ cout << it.first << " " << it.second << endl; } }


  • -3
    Mechamaru  đã bình luận lúc 26, Tháng 10, 2023, 7:40

    Ai khiến bro gửi code =))


  • 0
    Names_  đã bình luận lúc 14, Tháng 10, 2023, 9:18

    include <iostream>

    include <map>

    using namespace std;

    int main() { int n; cin >> n;

    int* arr = new int[n];
    for (int i = 0; i < n; i++) {
        cin >> arr[i];
    }
    
    map&lt;int, int> frequency;
    for (int i = 0; i < n; i++) {
        frequency[arr[i]]++;
    }
    
    cout << frequency.size() << endl;
    for (auto it = frequency.begin(); it != frequency.end(); it++) {
        cout << it->first << " " << it->second << endl;
    }
    
    delete[] arr;
    
    return 0;
    

    }