Bạn chưa đăng nhập. Vui lòng đăng nhập để hỏi bài
đỗ thành dạt

sau để khảo sát các bạn: Cho số nguyên dương n và dãy số nguyên dương a1, a2, ...an. Hãy đếm xem có bao nhiêu cặp (i, j) khác nhau, để kết quả của tích ai*aj có chữ số tận cùng bằng 9 (1 ≤ i<j<n).
Dữ liệu: Vào từ file TICH9.INP gồm:
+ Dòng đầu tiên là số nguyên dương n (2 ≤ n ≤ 10);
+ Dòng thứ 2 là n số nguyên dương a1, a2, ...an (ai ≤ 10100).
Kết quả: Ghi ra file TICH9.OUT là số lượng cặp thỏa mãn bài toán.
Ví dụ:
TICH9.INP
TICH9.OUT
4
2
3391
Ràng buộc:
+ Có 60% số điểm có n ≤ 103 và ai ≤ 100;
+ Có 30% số điểm có ai ≤ 109.
+ Có 10% số điểm còn lại không có ràng buộc gì thêm.

giúp mk nhé 😇😇

#include <iostream>
#include <fstream>

using namespace std;

const int MAXN = 1e5 + 5;

int n, a[MAXN], countDigit[10];

long long C(int n) {
    return 1LL * n * (n - 1) / 2;
}

int main() {
    ifstream fin("TICH9.INP");
    ofstream fout("TICH9.OUT");

    fin >> n;
    for (int i = 1; i <= n; i++) {
        fin >> a[i];
        countDigit[a[i] % 10]++;
    }

    long long ans = C(countDigit[1]) + C(countDigit[9]) + C(countDigit[3]) + C(countDigit[7]);
    fout << ans << endl;

    return 0;
}


Các câu hỏi tương tự
Trần Trung Hiếu THCS Thá...
Xem chi tiết
Trần Trung Hiếu
Xem chi tiết
Lala
Xem chi tiết
thiên thanh
Xem chi tiết
Ngô Nhật Minh
Xem chi tiết
Chuu
Xem chi tiết
Huyền Trang
Xem chi tiết
Dương Thị Thu Hà
Xem chi tiết
phạm tú
Xem chi tiết
Lala
Xem chi tiết