Số lần xuất hiện 1

Xem PDF



Tác giả:
Dạng bài
Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 650M Input: bàn phím Output: màn hình

Cho một dãy gồm \(n\) số nguyên dương \(A_1,A_2,\ldots,A_n\).

Yêu cầu: Hãy in ra tất cả các số trong mảng \(A\) cùng với số lần xuất hiện của chúng.

Input

  • Dòng đầu chứa số \(n\) (\(n\leq 10^5\)).
  • Dòng thứ hai chứa \(n\) số nguyên dương \(A_1,A_2,\ldots,A_n\) (\(A_i\leq 10^6\)).

Output

  • Gồm \(n\) dòng, mỗi dòng ghi số hạng thứ \(A_i\) và số lần xuất hiện của chúng.

Example

Test 1

Input
9
2 3 1 2 3 4 5 4 3
Output
2 2
3 3
1 1
2 2
3 3
4 2
5 1
4 2
3 3

Bình luận

  • phunhatkhdk 8:28 a.m. 25 Tháng 3, 2025

    em dùng freq được ko ạ?

    • novkll 8:29 p.m. 9 Tháng 3, 2025


      bro gì đây

      • tungchihsgtin 9:19 a.m. 25 Tháng 10, 2024

        hint pascal:
        dùng 2 mảng lưu trữ
        mảng a[i] để lưu các số nhập
        mảng b[i] để lưu số lg xuất hiện
        hint mang luu so lg dung ham INC

        • minhtuanitk20 10:21 a.m. 12 Tháng 9, 2021

          map là ok ac nhe mn

          • N7hoatt 5:28 p.m. 4 Tháng 8, 2020 chỉnh sửa 3

            HINT


            Ý TƯỞNG 1: CÀY TRÂU

            • ta cho duyệt qua từng phần tử của mảng xét với phần tử đang đứng hiện tại, nếu bằng nhau ta tăng biến dem++

            Reference TLE CODE | \(O(n^2)\) time | Brute-forces

             int main()
             {
                  cin>>n;
                  for(int i=1; i<=n; i++)
                     cin>>a[i];
                  for(int i=1; i<=n; i++)
                  {
                       ll dem=0;
                       for(int j=1; j<=n; j++)
                            if(a[i]==a[j])
                                dem++;
                       cout<<a[i]<<" "<<dem<<endl;
                  }
             }
            

            Ý TƯỞNG 2: ĐẾM PHÂN PHỐI

            • ta tạo ra một mảng \(dem[]\) nhằm lưu lại tần số của các phần tử trong mảng bằng cách duyệt qua từng phần tử và tăng giá trị của dem[a[i]]++

            Reference AC CODE | O(n) time | Distrubition-count

             int main()
             {
                 cin>>n;
                 for(int i=1; i<=n; i++)
                     cin>>a[i], dem[a[i]]++;
                 for(int i=1; i<=n; i++)
                     cout<<a[i]<<" "<<dem[a[i]]<<endl;
             }
            

            p/s:upvote hoặc không tôi sẽ gửi đồng chí tới gulag