CSES - Course Schedule II | Xếp lịch khóa học II

Xem PDF



Tác giả:
Dạng bài
Điểm: 1700 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Bạn muốn hoàn thành \(n\) khóa học có yêu cầu dạng "khóa học \(a\) phải được hoàn thành trước khóa học \(b\)".

Bạn muốn hoàn thành khóa học \(1\) càng sớm càng tốt. Nếu có nhiều cách để làm, bạn muốn hoàn thành khóa học \(2\) càng sớm càng tốt, v.v.

Nhiệm vụ của bạn là xác định thứ tự mà bạn hoàn thành các khóa học.

Input:

  • Dòng đầu tiên chứa hai số nguyên \(n\)\(m\): số lượng khóa học và số yêu cầu. Các khóa học được đánh số \(1,2,…, n\).
  • Sau đó, có \(m\) dòng mô tả các yêu cầu. Mỗi dòng có hai số nguyên \(a\)\(b\): khóa học \(a\) phải được hoàn thành trước khóa học \(b\).
  • Dữ liệu đảm bảo có ít nhất một lịch trình hợp lệ.

Output:

  • Một dòng duy nhất chứa \(n\) số nguyên: thứ tự hoàn thành các khóa học.

Constraints

  • \(1\leq n \leq 10^5\)
  • \(1\leq m \leq 2 ⋅ 10^5\)
  • \(1\leq a, b \leq n\)

Test 1

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

Bình luận


  • -1
    Thanh72    8:55 p.m. 20 Tháng 8, 2023

    Bạn muốn hoàn thành \(n\) khóa học có yêu cầu dạng "Khóa học \(a\) phải được hoàn thành trước khóa học \(b\)".

    Bạn muốn hoàn thành khóa học \(1\) càng sớm càng tốt. Nếu có nhiều cách để làm, bạn muốn hoàn thành khóa học \(2\) càng sớm càng tốt, v.v.

    Nhiệm vụ của bạn là xác định thứ tự mà bạn hoàn thành các khóa học.

    Input:

    • Dòng đầu tiên chứa hai số nguyên dương \(n\)\(m(n \leq 10^5; m \leq 2 \times 10^5)\): số lượng khóa học và số yêu cầu. Các khóa học được đánh số \(1, 2, ..., n\).
    • Sau đó, có \(m\) dòng mô tả các yêu cầu. Mỗi dòng có hai số nguyên dương \(a\)\(b(a, b \leq n)\): khóa học \(a\) phải được hoàn thành trước khóa học \(b\).
    • Dữ liệu đảm bảo có ít nhất một lịch trình hợp lệ.

    Output:

    • Một dòng duy nhất chứa \(n\) số nguyên: thứ tự hoàn thành các khóa học.

    Example

    Test 1

    Input
    4 2  
    2 1  
    2 3
    Output
    2 1 3 4
    • 1 bình luận nữa