Đ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

Các phép toán cơ bản

100 điểm

Bạn được yêu cầu thực hiện một số phép toán cơ bản giữa hai số nguyên \(a\) và \(b\).

In ra 3 dòng, mỗi dòng là kết quả của một phép toán sau theo thứ tự:

  • Tổng: \(a + b\)
  • Hiệu: \(a - b\)
  • Tích: \(a \cdot b\)

Input

Một dòng chứa hai số nguyên \(a\) và \(b\) (\(-10^9 \le a, b \le 10^9\), \(b \ne 0\)).

Output

In ra 3 dòng, mỗi dòng là kết quả của một phép toán sau theo thứ tự:

  • Tổng: \(a + b\)
  • Hiệu: \(a - b\)
  • Tích: \(a \cdot b\)

Example

Test 1

Input
5 3
Output
8
2
15

root

Xếp thùng sơn

100 điểm

\begincenter

\endcenter

root

Fibonacci

100 điểm

Dãy Fibonacci được định nghĩa đệ quy như sau: \(F_0 = 0\), \(F_1 = 1\), và \(F_n = F_{n-1} + F_{n-2}\) với \(n \geq 2\).
Cho số nguyên không âm \(N\). Hãy tính số Fibonacci thứ \(N\) (\(F_N\)) bằng đệ quy.

Input

Một số nguyên \(N\) (\(0 \leq N \leq 20\)).

Output

Một số nguyên duy nhất là giá trị của \(F_N\).

Example

Test 1

Input
3
Output
2

root

BFS cơ bản

100 điểm

Cho một đồ thị vô hướng có \(N\) đỉnh và \(M\) cạnh. Sử dụng thuật toán BFS để tìm chiều dài đường đi ngắn nhất (tính bằng số cạnh) giữa hai đỉnh \(S\) (đỉnh bắt đầu) và \(E\) (đỉnh kết thúc).

Input

  • Dòng đầu tiên là hai số nguyên dương \(N\), \(M\), \(S\), \(E\) (\(1 \leq N \leq 10^5, 1 \leq M \leq 10^5\), \(1 \leq S, E \leq N\)).
  • \(M\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(u, v\) mô tả một cạnh nối giữa đỉnh \(u\) và đỉnh \(v\).

Output

Một dòng duy nhất chứa chiều dài đường đi ngắn nhất từ \(S\) đến \(E\). Nếu không có đường đi, in ra -1.

Example

Test 1

Input
5 5 1 5
1 2
1 3
2 4
2 5
3 4
Output
2
Xem thêm