PRACTICE
Giới hạn thời gian: 2.0s /
Giới hạn bộ nhớ: 256M
Điểm: 2
13. Số nguyên tố tương đương
Hai số được gọi là nguyên tố tương đương khi cùng chung ước số nguyên tố
Ví dụ 75 và 15 cùng chung các ước nguyên tố 3 và 5 (60 và 12 thì không)
in ra Yes hoặc No
Giới hạn thời gian: 2.0s /
Giới hạn bộ nhớ: 256M
Điểm: 2
Tìm diện tích giao nhau của n hình chữ nhật.
Mô tả bài toán:
Cho n hình chữ nhật trên mặt phẳng tọa độ, mỗi hình chữ nhật được xác định bởi tọa độ của hai đỉnh:
- Đỉnh trái dưới: (x1, y1)
- Đỉnh phải trên: (x2, y2)
Yêu cầu tính diện tích phần giao nhau của tất cả n hình chữ nhật.
Dữ liệu vào:
- Dòng đầu tiên chứa số nguyên n (1 ≤ n ≤ 10^5) - số lượng hình chữ nhật.
- n dòng tiếp theo, mỗi dòng chứa 4 số nguyên x1, y1, x2, y2 (-10^9 ≤ x1, y1, x2, y2 ≤ 10^9), tọa độ của đỉnh trái dưới và phải trên của một hình chữ nhật.
Lưu ý: x1 < x2 và y1 < y2.
Dữ liệu ra:
- Một số nguyên duy nhất là diện tích phần giao nhau của tất cả các hình chữ nhật. Nếu không có phần giao nhau, kết quả là 0.
Ví dụ:
Ví dụ 1:
Input:
2
1 1 4 4
2 2 5 5
Output:
4
Giải thích:
Phần giao nhau của hai hình chữ nhật là một hình chữ nhật với tọa độ: (2, 2), (4, 4), diện tích là (4 - 2) × (4 - 2) = 4.
Giới hạn thời gian: 2.0s /
Giới hạn bộ nhớ: 256M
Điểm: 2
Mã hóa và Giải mã ký tự vòng tròn
Giả sử bạn có một bảng chữ cái gồm các ký tự từ A đến Z và a đến z, xếp theo dạng vòng tròn, nghĩa là sau Z sẽ quay lại A và sau z sẽ quay lại a. Một cách mã hóa đơn giản có thể thực hiện như sau: mỗi ký tự sẽ được thay thế bằng ký tự đứng sau nó N vị trí trong bảng chữ cái vòng tròn.
Câu hỏi 1: Mã hóa xâu ký tự
Cho một số nguyên N (0 ≤ N ≤ 25) và một xâu ký tự S (chỉ chứa các chữ cái từ A đến Z và a đến z). Hãy viết chương trình mã hóa xâu S bằng cách thay thế mỗi ký tự trong xâu S bằng ký tự đứng sau nó N vị trí trong bảng chữ cái vòng tròn.
Câu hỏi 2: Giải mã xâu ký tự
Cho xâu ký tự đã mã hóa S' và số nguyên N, bạn hãy viết chương trình giải mã xâu S' trở lại xâu ký tự ban đầu.
Yêu cầu:
Hãy xây dựng một chương trình có thể mã hóa và giải mã một xâu ký tự dựa trên N.
Xử lý các trường hợp khi N bằng 0, tức là không thay đổi gì.
Xử lý trường hợp các ký tự có thể là chữ hoa (A-Z) hoặc chữ thường (a-z).
Bạn cần phải giải thích cách thức mã hóa và giải mã từng ký tự.
Ví dụ:
Input:
- Dòng đầu tiên chứa hai số nguyên k và m (0 ≤ k, m ≤ 25).
- Dòng thứ hai chứa một xâu ký tự S (chỉ chứa các chữ cái từ A đến Z và a đến z).
Output:
- In ra xâu ký tự đã mã hóa.
- In ra xâu ký tự đã giải mã từ xâu mã hóa.
Ví dụ 1:
Input:
k = 7 m = 3
S = "anh"
Output:
Mã hóa: "hua"
Giải mã: "dan"
NouCamp là một sân bóng lớn. Sân có N ghế ngồi, các ghế được đánh số thứ tự từ 1 đến N. Sắp tới, sân NouCamp sẽ diễn ra trận đấu giữa hai đội bóng Barcelona và Alentico. Hiện nay, một số ghế trên sân đã được khán giả đặt mua làm chỗ ngồi. Yêu cầu: Hãy kiểm tra xem trên sân còn những ghế nào chưa được mua vé đặt chỗ.
Dữ liệu vào:
Cho trong file văn bản NOUCAMP.INP, có cấu trúc như sau:
- Dòng 1: Ghi hai số nguyên dương N M. Trong đó: N là số lượng ghế có trong sân. M là số lượng ghế đã được khán giả mua vé đặt chỗ. Hai số được ghi cách nhau ít nhất một dấu cách. (Lưu ý: N chia hết cho 8; 8 ≤ N ≤ 1000000; 1 ≤ M ≤ N).
- Dòng 2: Ghi M số nguyên dương a1, a2, …, am, là chỉ số của M ghế đã được khán giả mua vé đặt chỗ. Các số được ghi cách nhau ít nhất một dấu cách.
Dữ liệu ra:
Ghi ra file văn bản NOUCAMP.OUT, theo cấu trúc như sau:
- Dòng 1: Ghi K số nguyên dương b1, b2, …, bk, là chỉ số của các ghế trên sân chưa được mua vé đặt chỗ (K = N - M). Các số được ghi theo thứ tự tăng dần và cách nhau ít nhất một dấu cách.
input
16 5
3 5 7 8 10
output
1 2 4 6 9 11 12 13 14 15 16
Giới hạn thời gian: 2.0s /
Giới hạn bộ nhớ: 256M
Điểm: 2
📌 Mô tả bài toán
Cho ~N~ gói kẹo, mỗi gói có một số lượng ~A_i~ cái kẹo. Không được bóc bất kỳ gói kẹo nào, hãy chia ~N~ gói kẹo thành hai nhóm sao cho độ chênh lệch giữa tổng số kẹo của hai nhóm là nhỏ nhất.
📌 Dữ liệu đầu vào
- ~N~ ~(1 ≤ N ≤ 100)~: Số lượng gói kẹo.
- ~A_1, A_2, ..., A_N~ ~(1 ≤ A_i ≤ 10^6)~: Số lượng kẹo trong mỗi gói.
📌 Dữ liệu đầu ra
Một số nguyên duy nhất, là độ chênh lệch nhỏ nhất giữa hai nhóm kẹo sau khi phân chia.
📌 Ví dụ
🎯 Ví dụ 1
Input:
4
1 6 11 5
Diễn giải:
- Tổng số kẹo: ~S = 1 + 6 + 11 + 5 = 23~
- Chia thành hai nhóm gần bằng nhau nhất:
- Nhóm 1: ~{1, 6, 5} → 12~
- Nhóm 2: ~{11} → 11~
- Chênh lệch: ~|12 - 11| = 1.~
Output:
1