Lớp Đội tuyển Olympic Tin học & ICPC 2023 - Buổi 04

Hàm bậc 2a

Nộp bài
Time limit: 1.0 / Memory limit: 977M

Point: 100

Cho ~S(X)~ là tổng các chữ số của X, chẳng hạn ~S(100) = 1, S(-17) = 8,…~

Cho hai số nguyên ~A~ và ~B~, hãy tìm tất cả các số ~X~ nguyên để phương trình dưới đây nghiệm đúng:

~X^2 + AX + S(X) = B~

Input:

  • Hai số nguyên ~A (-10^{9} < A < 10^{9})~ và ~B (-10^{18} < B < 10^{18})~, mỗi số trên một dòng.

Output:

  • Các số ~X~ thỏa mãn phương trình, nếu có nhiều giá trị ~X~ thì in chúng theo thứ tự tăng dần, mỗi giá trị trên một dòng.

Sample Input 1

7
21  

Sample Output 1


Sample Input 2

3
156

Sample Output 2

11

Sample Input 3

-33
-249

Sample Output 3

12
21

Xếp kho

Nộp bài
Time limit: 1.0 / Memory limit: 977M

Point: 100

Sắp xếp kho không phải là một việc dễ. Trong những dịp lễ đặc biệt như 20/10 năm nay, các kho hàng chật cứng hoa và quà để tôn vinh những người phụ nữ Việt Nam.

TAS được đưa cho sơ đồ của một kho hàng. Kho hàng này được biểu diễn dưới dạng mảng 2 chiều gồm r hàng và c cột. Tọa độ của ma trận bắt đầu từ ô ~(1, 1)~.

Trong sơ đồ này có 2 loại ô:

  • Ô trống: Có thể đặt đồ hoặc di chuyển vào
  • Ô đã chứa đồ: Không thể đặt đồ hay di chuyển vào

Khi đang đứng tại một ô trống, ta chỉ có thể di chuyển tới 4 ô kề cạnh nếu như ô đó không chứa đồ.

Cho tọa độ ô bắt đầu ~(r_S, c_S)~ và ô kết thúc ~(r_E, c_E)~ trong kho hàng, hãy kiểm tra xem liệu có đường đi để di chuyển đồ từ ~(r_S, c_S)~ tới ~(r_E, c_E)~ hay không.

Dữ liệu đảm bảo ô bắt đầu và kết thúc không phải là ô đã chứa đồ.

Input:

  • Dòng đầu tiên chứa 2 số r, c ~(1 <= r, c <= 100)~
  • Dòng tiếp theo chứa 4 số nguyên: ~r_S~ ~c_S~ ~r_E~ ~c_E~
  • r dòng tiếp theo mỗi dòng có c kí tự thể hiện trạng thái của kho hàng. Kí tự . thể hiện ô trống và x thể hiện ô đã chứa đồ

Output:

  • In ra YES nếu như có đường đi, nếu không có in ra NO

Sample Input 1

8 6
4 6 8 1
x...x.
.x..x.
..xx.x
x..xx.
x.x.x.
......
xxx.xx
......

Sample Output 1

YES

Rubic 2x3

Nộp bài
Time limit: 1.0 / Memory limit: 977M

Point: 100

Trò chơi đẩy số 2 x 3 như sau:

Ban đầu có một miếng ván dạng lưới có 2 dòng và 3 cột, mỗi một ô đã đặt sẵn các số 1 2 3 4 5 và một ô trống.

Người chơi có thể dịch chuyển một ô có số vào chiếm chỗ của ô trống nếu ô số đó nằm chung cạnh với ô trống. Tất nhiên sau đó thì ô trống sẽ chuyển thành có số và ngược lại.

Bằng các di chuyển hợp lý, người chơi có thể đưa ô về hình dạng "chuẩn" là các số 1 2 3 4 5 xếp liên tục từ trên xuống dưới từ trái qua phải (hình dưới).

Chú ý: Có một số hình trạng ban đầu sẽ không chuyển về dạng "chuẩn" được.

Yêu cầu: cho trạng thái ban đầu của trò chơi, tính xem sau ít nhất bao nhiêu bước dịch ô thì đưa được về dạng chuẩn.

Input:

  • Hai dòng, mỗi dòng 3 số là giá trị ghi trên các ô, số 0 là ô trống

Output:

  • Số bước di chuyển tối thiểu, hoặc ghi -1 nếu không có phương án

Sample Input 1

2 3 0
1 4 5

Sample Output 1

5

Sample Input 2

3 4 2
0 1 5

Sample Output 2

-1

Đong rượu

Nộp bài
Time limit: 1.0 / Memory limit: 977M

Point: 100

Mời rượu các chị em không phải là một việc dễ. 20/10 là một ngày vui của phái nữ, làm sao các chị em có thể từ chối được cơ chứ? Tuy nhiên, với sự kiêu hãnh của mình, chị em bắt các anh giai TAS dùng mấy chiếc cốc đằng kia để đong một lượng rượu ở cái cốc mình mong muốn và chỉ chịu uống đúng gần đó. Cụ thể bài toán như sau:

Có 3 cốc đựng rượu, dung tích lần lượt là ~a~, ~b~ và ~c~, trong các cốc có lượng cốc lần lượt là ~x~, ~y~ và ~z~.

Chỉ bằng cách đổ rượu trong các cốc sang nhau (đổ cho đến khi hết rượu ở một cốc hoặc cốc kia đầy), hãy kiểm tra xem có thể đong đúng ~m~ lít rượu ở cốc thứ nhất như yêu cầu của chị em hay không?

Input:

  • Dòng đầu tiên chứa 3 số nguyên ~a, b, c~ (~1 <= a, b, c <= 100~)
  • Dòng thứ hai chứa 3 số nguyên ~x, y, z~ (~1 <= x, y, z <= 100~, ~x <= a, y <= b, z <= c~)
  • Dòng thứ ba chứa một số nguyên ~m~

Output:

  • In ra YES nếu như có cách đong thỏa mãn, nếu không có in ra NO