Số lần xuất hiện

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


  • 28
    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


    • -4
      khanhhunghack    7:31 a.m. 16 Tháng 12, 2021

      ank kiu admin tăng time cho scratch đi chứ scratch nó in chậk lắm


      • 1
        N7hoatt    6:14 p.m. 16 Tháng 12, 2021

        sao anh kêu được em


    • -11
      lagiahuy    9:21 p.m. 30 Tháng 9, 2021 đã chỉnh sửa

      Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở.


      • 2
        N7hoatt    5:39 p.m. 2 Tháng 10, 2021

        ý bạn là sao mình không biết dùng c++? mình chỉ để phần code chính cho mấy bạn xem ko Ctr+C + Ctr+V cho hiểu code thôi


        • -6
          lagiahuy    5:43 p.m. 4 Tháng 10, 2021

          Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở.


      • -9
        lagiahuy    9:18 p.m. 30 Tháng 9, 2021 đã chỉnh sửa

        Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở.


        • 0
          minhtuanitk20    7:42 p.m. 22 Tháng 8, 2021

          cày trâu thời gian nó lâu


          • 3
            NgJaBach    12:27 p.m. 13 Tháng 8, 2020

            dùng map code sẽ họn hơn


            • -2
              N7hoatt    9:22 p.m. 27 Tháng 8, 2020

              map nó gọn nhưng chậm hơn


              • -10
                nguyenquochuy    7:30 p.m. 28 Tháng 8, 2020

                Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở.


                • -6
                  N7hoatt    8:46 p.m. 28 Tháng 8, 2020

                  Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở.


              • -6
                N7hoatt    9:21 p.m. 27 Tháng 8, 2020 chỉnh sửa 2

                Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở.


              • -14
                khangts714    12:06 p.m. 6 Tháng 8, 2020

                Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở.


                • -4
                  N7hoatt    10:52 a.m. 7 Tháng 8, 2020

                  chúc mừng bạn đã có 1 vé tới gulag


                  • -13
                    khangts714    11:12 a.m. 7 Tháng 8, 2020

                    Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở.

                1 bình luận nữa