[Mảng 1 Chiều Cơ Bản]. Bài 28. Mảng đánh dấu 3

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:
28Tech
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Cho mảng số nguyên A[] gồm N phần tử, hãy liệt kê các giá trị xuất hiện trong mảng theo thứ tự xuất hiện trong mảng kèm theo tần suất của nó, mỗi giá trị chỉ liệt kê một lần.

Tham khảo lý thuyết mảng đánh dấu : [C++]. Mảng Đánh Dấu


Đầu vào

Dòng đầu tiên là số nguyên dương N

Dòng thứ 2 gồm N số nguyên viết cách nhau một vài khoảng trắng


Giới hạn

1<=N<=1000

0<=A[i]<=10^6


Đầu ra

In ra nhiều dòng, mỗi dòng gồm giá trị và tần suất viết cách nhau một khoảng trắng


Ví dụ :

Input 01
Copy
9
1 6 6 9 0 6 4 9 3
Output 01
Copy
1 1
6 3
9 2
0 1
4 1
3 1

Bình luận

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



  • -1
    VDev  đã bình luận 5:18:34 sa, 20/01/2025

    FULL AC

    Copy
    #include <bits/stdc++.h>
    #include <iomanip>
    #include <cmath>
    #include <climits>
    #define ll long long
    using namespace std;
    ll a[1000011];
    ll cnt = 0, s = 0, cnt2[1000011], mark[1000011];
    
    int main(){
        ll n;
        cin >> n;
        for(ll i = 0; i < n; i++){
            cin >> a[i];
        }
        for(ll i = 0; i < n; i++){
                cnt2[a[i]]++;
        }
        for(ll i = 0; i < n; i++){
            if(cnt2[a[i]] != 0){
                cout << a[i] << " " << cnt2[a[i]] << endl;
                cnt2[a[i]] = 0;
            }
        }
        return 0;
    }
    

  • -2
    2vhoc7  đã bình luận 4:40:24 ch, 04/04/2024

    from math import * if name == 'main': n = int(input()) a = list(map(int, input().split()))

    Copy
    d ={}
    
    for x in a:
        if x in d:
            d[x]+=1
        else:
            d[x] = 1
    
    for key, value in d.items():
        print(key, value)