Điều hướng chính

Nhắn tin NQ Coding

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.

Dễ

Cây cơ bản

100 điểm 100% AC 1 đã giải

root

Định nghĩa cây

Một cây là một đồ thị vô hướng liên thông không chứa chu trình. Tức là, cây là một đồ thị \(G = (V, E)\) thỏa mãn các điều kiện sau:

  • \(G\) liên thông, tức là luôn có đường đi giữa hai đỉnh bất kỳ.
  • \(G\) không chứa chu trình, tức là không có tập con của các cạnh tạo thành một đường khép kín.

Tính chất của cây

Một cây với \(n\) đỉnh (\(n \geq 1\)) có các tính chất sau:

  • Cây có đúng \(n-1\) cạnh.
  • Giữa hai đỉnh bất kỳ trong cây luôn tồn tại duy nhất một đường đi.
  • Thêm một cạnh bất kỳ vào cây sẽ tạo thành đúng một chu trình.
  • Loại bỏ một cạnh bất kỳ khỏi cây sẽ làm đồ thị không còn liên thông.

Ứng dụng của cây

Cây có nhiều ứng dụng quan trọng trong tin học và toán học:

  • Cấu trúc dữ liệu: Cây nhị phân tìm kiếm, cây AVL, cây đỏ-đen.
  • Mạng máy tính: Mô hình phân cấp mạng.
  • Hệ thống tệp: Cấu trúc thư mục trong hệ điều hành.
  • Nén dữ liệu: Cây Huffman.

Bài toán

Cho đồ thị có dạng một cây có \(n\) đỉnh có gốc của cây là đỉnh \(1\). Hãy trả lời các câu hỏi sau :

  • Câu hỏi \(1\) : Với mỗi \(x\) từ \(1\) đến \(n\), hãy in ra cha của \(x\) trên cây. Nếu \(x\) là gốc của cây thì in ra chính nó.
  • Câu hỏi \(2\) : Tìm khoảng cách từ gốc của cây đến tất cả các đỉnh trên cây.
  • Câu hỏi \(3\) : In ra tất cả các đỉnh lá của cây (theo thứ tự tăng dần chỉ số).
  • Câu hỏi \(4\) : Với mỗi \(x\) từ \(1\) đến \(n\), hãy in ra số lượng đỉnh trong cây con gốc \(x\).

Input

Dòng đầu tiên là hai số nguyên dương \(n\) và \(t\). \(n\) là số đỉnh của cây và \(t\) là chỉ số câu hỏi. \((1 \leq n \leq 500, 1 \leq t \leq 4)\).

\(n - 1\) dòng tiếp theo, mỗi dòng là hai số nguyên dương \(u\) và \(v\), là cạnh của cây.

Output

Với câu hỏi in ra tương ứng, xem test ví dụ để hiểu rõ hơn.

Example

Test 1

Input
5 1
1 2
1 3
2 4
2 5
Output
1 1 1 2 2 

Test 2

Input
5 2
1 2
1 3
2 4
2 5
Output
0 1 1 2 2 

Test 3

Input
5 3
1 2
1 3
2 4
2 5
Output
3 4 5 

Test 4

Input
5 4
1 2
1 3
2 4
2 5
Output
5 3 1 1 1 
Dễ

Câu 1 (6.0 điểm). Chia hết

100 điểm 100% AC 2 đã giải

root

Cho số nguyên dương \(N\) và hai số nguyên tố \(A, B\).
Hỏi có bao nhiêu số không lớn hơn \(N\) chỉ chia hết cho \(A\) hoặc \(B\)?

Input

Vào từ tệp văn bản CHIAHET.INP gồm:

  • Dòng 1 ghi số nguyên dương \(N\);
  • Dòng 2 ghi 2 số nguyên tố \(A, B\).

Output

Ghi ra tệp văn bản CHIAHET.OUT một số là kết quả của bài toán.

Example

Test 1

Input
10
2 3
Output
6
Note

Các số chia hết cho 2 là: 2, 4, 6, 8, 10.

Các số chia hết cho 3 là: 3, 6, 9.

Các số chỉ chia hết cho 2 hoặc 3 là: 2, 3, 4, 8, 9, 10 (6 số).

Số 6 chia hết cho cả 2 và 3.

Scoring

  • Subtask 1: Có 36 test (90%) tương ứng 5,4 điểm với \(N \le 10^6\), \(A, B < N\);
  • Subtask 2: Có 4 test (10%) tương ứng 0,6 điểm với \(10^6 < N \le 10^9\), \(A, B < N\).
Dễ

Câu 1 6.0 điểm). Hình chữ nhật đẹp

100 điểm 100% AC 2 đã giải

root

Trong giờ hình học, An được thầy giáo dạy về công thức tính diện tích của hình chữ nhật và hình vuông. An thấy hình vuông rất đẹp nên cậu định nghĩa một hình chữ nhật "đẹp" là hình chữ nhật có các đặc điểm sau:

  • Độ dài hai cạnh là các số nguyên dương.
  • Diện tích bằng diện tích của một hình vuông có độ dài cạnh là một số nguyên dương.

An đã phát biểu định nghĩa này trước lớp và thách đố bài toán như sau:

Cho số nguyên dương \(x\). Tìm số nguyên dương \(y\) nhỏ nhất để \(x\) và \(y\) là độ dài hai cạnh của một hình chữ nhật "đẹp".

Yêu cầu
Giúp cả lớp tìm số nguyên dương \(y\) thỏa mãn bài toán của An.

Input

Nhập từ tệp văn bản B1.INP, gồm một dòng duy nhất chứa số nguyên dương \(x\).

Output

Ghi ra tệp văn bản B1.OUT, gồm một dòng duy nhất chứa số nguyên dương \(y\).

Example

Test 1

Input
4
Output
1

Test 2

Input
6
Output
6

Test 3

Input
8
Output
2

Scoring

  • \(90\%\) số test thỏa mãn \(1 \le x \le 10^6\).
  • \(10\%\) số test thỏa mãn \(10^6 < x \le 10^{12}\).
Dễ

Bảng số

100 điểm 0% AC 0 đã giải

root

Bạn được cho một bảng số gồm \(n\) hàng và \(m\) cột. Trong mỗi ô của bảng, bạn được điền một con số từ \(1\) đến \(k\). Tuy nhiên có ràng buộc đặc biệt là trong mỗi hàng và mỗi cột của bảng thì phải chứa ít nhất \(1\) ô được điền số \(1\).

Nhiệm vụ của bạn là đếm số cách điền bảng trên sao cho thỏa mãn ràng buộc.

Input

  • Dòng đầu tiên chứa ba số nguyên \(n, m, k\) \((1 \leq n, m \leq 1000, 1 \leq k \leq 10^9)\), lần lượt là số hàng, số cột và số con số có thể sử dụng để điền vào bảng.

Output

In ra số cách điền bảng trên. Vì kết quả có thể rất lớn, in ra đáp án khi chia dư cho \(10^9 + 7\).

Example

Test 1

Input
2 2 3
Output
17

Test 2

Input
3 4 3
Output
101089

Scoring

  • Có \(20\%\) số điểm ứng với \(n \times m \le 20\).
  • Có \(30\%\) số điểm ứng với \(n, m \le 500\).
  • Có \(50\%\) số điểm ứng với \(n, m \le 1000\).
Xem thêm