Trang chủ Tin Học Lớp 8 Võ sư Egg có một người đệ tử tên là Lâm. Hôm nay, trên đường đi diệt yêu quái, võ...
Câu hỏi :

Võ sư Egg có một người đệ tử tên là Lâm. Hôm nay, trên đường đi diệt yêu quái, võ phục của Lâm đã bị rách tơi tả. Vì vậy, sư phụ Egg quyết định tặng cho môn sinh của mình một bộ đồ mới! Cửa hàng võ phục có N cái áo kích cỡ ai và N chiếc quần kích cỡ bi. Mỗi chiếc áo quần có màu đen hoặc màu trắng (0 tượng trưng cho màu đen và 1 tượng trưng cho màu trắng). Một bộ đồ gồm một chiếc áo và một chiếc quần được xem là đẹp nếu như chúng khác màu và có kích thước chênh nhau không quá K. Võ sư và đệ tử muốn biết có bao nhiêu bộ đồ đẹp. Bạn hãy giúp đỡ họ nhé! INPUT Dòng đầu tiến là 2 số nguyên N và K (1 N 10^6, 1 K 10^9). Dòng tiếp theo gồm N số nguyên ai (1 ai 10^9) kích thước của chiếc áo thứ i. Dòng tiếp theo ghi N số 0 hoặc 1 tương ứng với màu của chiếc áo thứ i. Dòng tiếp theo gồm N số nguyên bi (1 bi 10^9) kích thước của chiếc quần thứ i. Dòng cuốicùng ghi N số 0 hoặc 1 tương ứng với màu của chiếc quần thứ i. OUTPUT In ra một số nguyên dương số lượng bộ đồ đẹp. EXAMPLE Sample Input Sample Output 4 2 1 5 7 12 0 1 0 1 3 9 10 12 1 0 0 1 2 NOTE Các bộ đồ thỏa mãn là: ( a1 , b1 ) và ( a4 , b3 ).

Lời giải 1 :

#include <iostream>
using namespace std;
int main() {
    int n,k;
    cin >> n >> k;
    int a[n],a1[n],b[n],b1[n];
    int d=0;
    for (int i=0; i<n; i++) cin >> a[i];
    for (int i=0; i<n; i++) cin >> a1[i];
    for (int i=0; i<n; i++) cin >> b[i];
    for (int i=0; i<n; i++) {
        int b1;
        cin >> b1;
        if (abs(a[i]-b[i])<=k) {
            if (a1[i]!=b1) d++;
        }
    }
    cout << d;
}

Lời giải 2 :

n, k = map(int, input().split())

a = list(map(int, input().split()))

color_a = list(map(int, input().split()))

b = list(map(int, input().split()))

color_b = list(map(int, input().split()))

temp = [(a[i], color_a[i], b[i], color_b[i]) for i in range(n)]

temp.sort()

i, j = 0, 0

count = 0

while i < n and j < n:

      if temp[j][0] - temp[i][0] <= k and temp[i][1] != temp[j][1] and temp[i][2] != temp[j][2]:

         count += 1

         j += 1

     elif temp[j][0] - temp[i][0] > k or (temp[i][1] == temp[j][1] or temp[i][2] == temp[j][2]):

        i += 1

print(count)

Bạn có biết?

Tin học là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng. Tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin. Hãy tận dụng sức mạnh của tin học để giải quyết các vấn đề và sáng tạo ra những giải pháp mới!

Nguồn :

Wikipedia - Bách khoa toàn thư

Tâm sự lớp 8

Lớp 8 - Năm thứ ba ở cấp trung học cơ sở, học tập bắt đầu nặng dần và sang năm lại là năm cuối cấp, áp lực lớn dần. Hãy chú ý đến sức khỏe, cân bằng giữa học và nghỉ ngơi để đạt hiệu quả tốt nhất!

Nguồn :

sưu tập

Copyright © 2024 Giai BT SGK