Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Bài tập

Bài được chọn theo nhịp luyện tập của bạn, cùng mọi bài mới vừa lên.

root

Bài 3 : Con số (5.0 điểm)

100 điểm

Trong vương quốc Số Học, người dân quan niệm rằng vẻ đẹp thực sự đến từ sự đồng nhất. Một số nguyên dương được gọi là "Số Thuần Khiết" nếu trong biểu diễn thập phân của nó, tất cả các chữ số đều giống nhau. Ví dụ: \(7, 22, 88888\) là các Số Thuần Khiết; trong khi \(121, 3334\) thì không phải.

Nhà vua Modulo vừa tìm ra một con số bí ẩn \(n\). Để mở cánh cổng kho báu hoàng gia, nhà vua cần tìm ra một Số Thuần Khiết nhỏ nhất mà lại là bội số của \(n\).

Hãy giúp nhà vua tìm ra con số đó để mở kho báu.

Input

Vào từ tệp văn bản CONSO.INP có cấu trúc:

  • Dòng đầu tiên chứa số nguyên \(T\) (\(1 \le T \le 5\)) là số lượng bộ dữ liệu (test cases).
  • \(T\) dòng tiếp theo, mỗi dòng chứa một số nguyên dương \(n\) (\(n \le 10^6\)).

Output

Ghi ra tệp văn bản CONSO.OUT gồm \(T\) dòng tương ứng với \(T\) bộ dữ liệu:

  • Nếu tìm được Số Thuần Khiết thỏa mãn, in ra số đó.
  • Nếu không tồn tại số nào thỏa mãn, in ra \(-1\).

Example

Test 1

Input
1
37
Output
111
Note
  • Subtask 1 (\(30\%\) số điểm): Nếu tồn tại đáp án, thương số \(m\) (với \(Output = n \times m\)) thỏa mãn \(m \le 10^6\).
  • Subtask 2 (\(40\%\) số điểm): \(n \le 10^3\).
  • Subtask 3 (\(30\%\) số điểm): Không có ràng buộc gì thêm.

root

Bài 3 : Số nguyên tố (6.0 điểm)

100 điểm

Số nguyên tố là số tự nhiên lớn hơn 1 và chỉ có đúng hai ước là 1 và chính nó.

Yêu cầu: Cho số tự nhiên \(n\), hãy tìm số tự nhiên \(p\) thỏa mãn điều kiện: \(p\) là số nguyên tố nhỏ nhất và \(p \ge n\).

Input

Vào từ tệp văn bản MPRI.INP:

  • Dòng thứ nhất chứa số nguyên dương \(Q\) \((Q \le 10^6)\) là số bộ test.
  • \(Q\) dòng tiếp theo, mỗi dòng chứa một số tự nhiên \(n\) \((n \le 10^9)\).

Output

Ghi ra tệp văn bản MPRI.OUT:

  • Gồm \(Q\) dòng, mỗi dòng ghi một số nguyên tố tìm được tương ứng với dữ liệu vào.

Example

Test 1

Input
2
5
8
Output
5
11
Note

Giải thích:

  • Với \(n = 5\), số nguyên tố nhỏ nhất \(p \ge n\) là \(5\).
  • Với \(n = 8\), số nguyên tố nhỏ nhất \(p \ge n\) là \(11\).

Scoring

  • Có \(30\%\) số test ứng với \(30\%\) số điểm của bài thỏa mãn: \(Q = 1\); \(n \le 10^3\).
  • Có \(40\%\) số test khác ứng với \(40\%\) số điểm của bài thỏa mãn: \(Q \le 10^2\); \(n \le 10^9\).
  • \(30\%\) số test còn lại ứng với \(30\%\) số điểm của bài thỏa mãn: \(Q \le 10^6\); \(n \le 10^6\).

root

Chụp hình bạn bè

100 điểm

Bạn có \(n\) người bạn và muốn chụp \(m\) tấm hình cho họ. Mỗi tấm hình phải chụp đúng hai người bạn, và không có cặp bạn nào được chụp hơn một lần. Nói cách khác, mỗi tấm hình là một cặp \((i, j)\) với \(1 \le i < j \le n\) và mỗi cặp chỉ được chọn một lần.

Mỗi người bạn thứ \(i\) có một mức độ thu hút được biểu diễn bởi số nguyên \(a_i\). Độ hấp dẫn của một bức hình chụp hai người bạn \(i\) và \(j\) được tính bằng \(a_i \oplus a_j\), trong đó \(\oplus\) là phép toán XOR giữa hai số nguyên.

Hãy chọn ra \(m\) tấm hình sao cho tổng độ hấp dẫn là lớn nhất có thể. Do kết quả có thể rất lớn, hãy in ra phần dư của tổng độ hấp dẫn chia cho \(10^9 + 7\).

Input

Dữ liệu vào:

  • Dòng đầu tiên chứa hai số nguyên \(n\) và \(m\) \((2 \le n \le 10^5,\ 1 \le m \le \frac{n(n-1)}{2})\) --- số người bạn và số tấm hình cần chụp.
  • Dòng thứ hai chứa \(n\) số nguyên \(a_1, a_2, \dots, a_n\) \((0 \le a_i \le 10^9)\) --- mức độ thu hút của từng người bạn.

Output

  • Ghi ra một số nguyên duy nhất --- tổng độ hấp dẫn lớn nhất có thể đạt được sau khi chụp \(m\) tấm hình, lấy modulo \(10^9 + 7\).

Example

Test 1

Input
3 2
1 2 3
Output
5

Test 2

Input
3 3
1 2 3
Output
6

Scoring

\begintabular|c|c|l|
\hline
Subtask & Điểm & Ràng buộc

\hline
1 & 15 & \(n \le 1000\)

2 & 20 & \(a_i \lt 2^{10}\) với mọi \(i\)

3 & 65 & Không có ràng buộc bổ sung

\hline
\endtabular

root

Rắn săn mồi

100 điểm

Putata đang chơi một trò chơi rắn nổi tiếng trên máy tính xách tay của mình, trong đó con rắn di chuyển trên một bàn cờ kích thước \(n \times m\). Trên bàn cờ này có thể có một số ô chứa chướng ngại vật. Con rắn có thể được biểu diễn như một dãy các cặp tọa độ xác định vị trí của thân nó: \((x_1, y_1), (x_2, y_2), \dots, (x_k, y_k)\). Ở đây, \(k\) là độ dài của con rắn. Đầu của con rắn là tại \((x_1, y_1)\), đuôi là tại \((x_k, y_k)\), và các phần thân liền kề sẽ nằm trên các ô liền kề nhau theo cạnh.

Trong trò chơi này, con rắn sẽ được điều khiển bằng một chuỗi các lệnh di chuyển. Có 5 loại lệnh mà bạn có thể sử dụng:

  • L: Di chuyển con rắn một ô sang trái. Đầu của con rắn sẽ di chuyển tới \((x_1, y_1 - 1)\).
  • R: Di chuyển con rắn một ô sang phải. Đầu của con rắn sẽ di chuyển tới \((x_1, y_1 + 1)\).
  • U: Di chuyển con rắn một ô lên trên. Đầu của con rắn sẽ di chuyển tới \((x_1 - 1, y_1)\).
  • D: Di chuyển con rắn một ô xuống dưới. Đầu của con rắn sẽ di chuyển tới \((x_1 + 1, y_1)\).
  • S: Rút ngắn chiều dài của con rắn đi một đơn vị. Đuôi của con rắn sẽ bị xóa đi, độ dài của con rắn sẽ trở thành \(k - 1\). Lưu ý rằng bạn không thể thực hiện lệnh này khi \(k = 1\).

Khi đầu của con rắn di chuyển, mỗi phần thân của nó cũng sẽ di chuyển theo. Cụ thể, phần thân thứ \(i\) \((2 \leq i \leq k)\) sẽ di chuyển đến vị trí mà phần thân thứ \((i-1)\) ở đó trước khi lệnh được thực hiện. Con rắn không thể di chuyển vào một ô có chướng ngại vật, và không thể di chuyển ra ngoài bàn cờ. Ngoài ra, con rắn không được tự va vào thân của nó, nghĩa là không được có hai phần của thân nằm trên cùng một vị trí.

Trường hợp đặc biệt

Xem xét trường hợp đặc biệt sau: Đầu của con rắn ở vị trí \((x_1, y_1)\), và đuôi ở vị trí \((x_k, y_k)\). Nếu đầu của con rắn đang di chuyển đến \((x'_1, y'_1) = (x_k, y_k)\), thì được phép hoán đổi vị trí đầu và đuôi của con rắn bằng một lệnh duy nhất khi \(k = 2\).

Yêu cầu

Bạn sẽ được cung cấp bản đồ của bàn cờ và vị trí của thân con rắn. Gọi \(f(i, j)\) là số lệnh tối thiểu để đầu của con rắn có thể đến vị trí \((i, j)\), hoặc \(0\) nếu không thể. Nhiệm vụ của bạn là tính giá trị sau:

$
\left( \sum_{i=1}^n \sum_{j=1}^m f(i, j)^2 \right) \mod 2^{32}.
$

Input

  • Dòng đầu tiên chứa ba số nguyên \(n\), \(m\) và \(k\) \((1 \leq n, m \leq 3000, 1 \leq k \leq \min\{nm, 10^5\})\) - kích thước của bàn cờ và độ dài của con rắn.
  • Trong \(k\) dòng tiếp theo, dòng thứ \(i\) chứa hai số nguyên \(x_i\) và \(y_i\) \((1 \leq x_i \leq n, 1 \leq y_i \leq m, |x_i - x_{i+1}| + |y_i - y_{i+1}| = 1)\) biểu thị vị trí của phần thân thứ \(i\) của con rắn. Đảm bảo rằng tất cả các cặp tọa độ \((x_i, y_i)\) là khác nhau và không có phần thân nào nằm trên ô chứa chướng ngại vật.
  • Trong \(n\) dòng tiếp theo, dòng thứ \(i\) chứa một chuỗi có độ dài \(m\). Nếu ô \((i, j)\) trống, ký tự thứ \(j\) trong dòng thứ \(i\) là '.'. Nếu ô \((i, j)\) chứa chướng ngại vật, ký tự đó là '#'.

Output

In ra một số nguyên không âm là đáp án cho bài toán.

Example

Test 1

Input
4 5 5
3 5
3 4
3 3
3 2
4 2
.....
.....
.....
.....
Output
293

Test 2

Input
2 2 4
1 1
1 2
2 2
2 1
..
..
Output
14

Test 3

Input
5 5 3
1 2
1 1
2 1
.....
.###.
.#.#.
.###.
.....
Output
407

Scoring

  • Có \(25\%\) số test có \(n, m, k \leq 5\).

  • Có \(25\%\) số test có \(k = 2\).

  • Có \(25\%\) số test có \(n, m \leq 300\), \(2 < k \leq 5\).

  • \(25\%\) số test còn lại không có ràng buộc gì thêm.

Xem thêm