| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | Ngày nguyên tố | 100 (p) | 1.0s | 256M |
| 2 | Robot | 100 (p) | 1.0s | 256M |
| 3 | Tiến hóa | 100 (p) | 1.0s | 256M |
| 4 | Phân định phóng xạ | 100 (p) | 2.5s | 256M |
Theo lịch của người Ethiopia, một năm có 13 tháng: trong đó tháng 1 đến tháng 12 có 30 ngày, riêng tháng 13 có 5 ngày. Lưu ý rằng, theo lịch này, không có khái niệm năm nhuận.
Ta định nghĩa ngày dd/mm/yyyy là ngày nguyên tố khi và chỉ khi cả ngày \((dd)\) và tháng \((mm)\) đều là các số nguyên tố, chẳng hạn như ngày 13/7/2008. Lưu ý rằng, giá trị năm \((yyyy)\) không cần là số nguyên tố.
Nhắc lại, số nguyên tố là số tự nhiên lớn hơn 1, chỉ chia hết cho 1 và chính nó.
Yêu cầu: Cho một ngày \(X\) theo định dạng dd/mm/yyyy, các bạn hãy xác định "ngày nguyên tố" gần nhất diễn ra trước và sau ngày \(X\) là những ngày nào?
Test 1
07/07/0777
05/07/0777
11/07/0777
Test 2
03/13/1234
02/13/1234
05/13/1234
Hiếu mới lắp ráp một robot có thể di chuyển trên trục số.
Robot của Hiếu thực hiện các thao tác di chuyển dựa trên một dãy lệnh \(S=s_1s_2\dots s_n\) \((s_i \in \{\texttt{L, R}\})\).
Nếu robot đang đứng ở vị trí \(x\) trên trục số và di chuyển theo lệnh \(s\) thì robot sẽ thực hiện như sau:
Ban đầu, robot đứng ở vị trí \(x_0\). Hiếu lập trình robot lần lượt thực hiện việc di chuyển trong \(k\) lượt dựa theo dãy lệnh \(s\):
Để làm được việc này, robot có một ô nhớ chứa chỉ số của lệnh vừa thực hiện trước đó. Nếu sau khi thực hiện một lệnh \(s_i\), ô nhớ này cần chứa giá trị \(i\).
Tuy nhiên, do sự không cẩn thận của mình, Hiếu lại có một lỗi bộ nhớ. Nếu sau khi thực hiện một lệnh \(s_i\) mà robot trở về vị trí \(0\) thì ô nhớ chứa thứ tự lệnh trước đó thực hiện bị gán lại về giá trị \(0\) thay vì chứa giá trị \(i\) (lệnh tiếp theo sẽ là lệnh thứ \(1\)).
Tuy có lỗi bộ nhớ, robot vẫn thực hiện \(k\) lượt. Bạn hãy trả lời hai câu hỏi sau:
Test 1
6
3 2 6
LLR
2 -1 8
RL
4 -2 5
LRRR
5 3 7
LRRLL
1 1 1
L
3 -1 4846549234412827
RLR
1 -2
4 1
1 -1
0 2
1 0
2423274617206414 0
Tại vùng đất Miền Trung Tây Nguyên, để mô phỏng sự sống, người ta sử dụng xâu nhị phân \(S\) độ dài \(n\) để mã hóa một dãy \(n\) tế bào. Các tế bào được đánh số từ \(1\) đến \(n\), tế bào thứ \(i\) được mã hóa bởi kí tự thứ \(i\) của xâu \(S\), kí hiệu là \(S_i\). Trong mọi thời điểm, \(S_i\) nhận một trong hai giá trị là \(0\) hoặc \(1\).
Dãy tế bào này sẽ biến đổi theo thời gian. Ở mỗi lần biến đổi, tất cả \(n\) tế bào sẽ thay đổi đồng thời dựa vào trạng thái của tế bào này, tế bào liền trước và tế bào liền sau tại thời điểm trước đó. Cụ thể, tế bào thứ \(i\) biến đổi như sau:
111 hoặc 001, đảo ngược giá trị của \(S_i\) (tức \(S_i \leftarrow 1-S_i\))010 hoặc 110, \(S_i\) không thay đổi101 hoặc 011, \(S_i\) trở thành \(1\)Gồm một dòng duy nhất chứa xâu ký tự \(S\) sau \(k\) lần biến đổi.
Test 1
3 3
001
101
Giá trị của xâu \(S\) qua các lần biến đổi là: 001 → 011 → 111 → 101
Test 2
6 3
101100
101100
Giá trị của xâu \(S\) qua các lần biến đổi là: 101100 → 111011 → 101111 → 111001 → 101011 → 111111
? u nào nằm trước các truy vấn loại khácC uA u, nếu rừng đang có \(n\) đỉnh, dữ liệu đảm bảo \(u = n\)Có \(N\) điểm trong không gian hai chiều, điểm thứ \(i\) có tọa độ là \((x_i, y_i)\). Có \(M\) loại nguyên tử phóng xạ được đánh số từ \(1\) đến \(M\).
Các nhà khoa học muốn đặt các nguyên tử vào \(N\) điểm, mỗi điểm một loại nguyên tử phóng xạ sao cho độ ổn định là lớn nhất. Độ ổn định của một cách đặt được thể hiện bằng khoảng cách Euclid nhỏ nhất giữa hai nguyên tử phóng xạ cùng loại.
Nhắc lại: khoảng cách Euclid giữa hai điểm \((x_1, y_1)\) và \((x_2, y_2)\) là:
Test 1
5 3
1 0
2 0
3 0
4 0
5 0
1 2 3 1 2
Test 2
4 2
0 5
5 0
5 5
0 0
1 1 2 2