Submit solution


Points: 0.17 (partial)
Time limit: 0.38s
Memory limit: 512M
Input: stdin
Output: stdout

Problem source:
IOICAMP4
Problem type
Allowed languages
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Theo thống kê cho biết mức độ tăng trưởng kinh tế của nước Peace trong năm ~2006~ rất đáng khả quan. Cả nước có tổng cộng ~N~ thành phố lớn nhỏ được đánh số tuần tự từ ~1~ đến ~N~ phát triển khá đồng đều. Giữa ~N~ thành phố này là một mạng lưới gồm ~M~ đường đi hai chiều, mỗi tuyến đường nối ~2~ trong ~N~ thành phố sao cho không có ~2~ thành phố nào được nối bởi quá ~1~ tuyến đường. Trong ~N~ thành phố này thì thành phố ~1~ và thành phố ~N~ là ~2~ trung tâm kinh tế lớn nhất nước và hệ thống đường đảm bảo luôn có ít nhất một cách đi từ thành phố ~1~ đến thành phố ~N~.

Tuy nhiên, cả ~2~ trung tâm này đều có dấu hiệu quá tải về mật độ dân số. Vì vậy, đức vua Peaceful quyết định chọn ra thêm một thành phố nữa để đầu tư thành một trung tâm kinh tế thứ ba. Thành phố này sẽ tạm ngưng mọi hoạt động thường nhật, cũng như mọi luồng lưu thông ra vào để tiến hành nâng cấp cơ sở hạ tầng. Nhưng trong thời gian sửa chữa ấy, phải bảo đảm đường đi ngắn nhất từ thành phố ~1~ đến thành phố ~N~ không bị thay đổi, nếu không nền kinh tế quốc gia sẽ bị trì trệ.

Vị trí và đường nối giữa ~N~ thành phố được mô tả như một đồ thị ~N~ đỉnh ~M~ cạnh. Hãy giúp nhà vua đếm số lượng thành phố có thể chọn làm trung tâm kinh tế thứ ba sao cho thành phố được chọn thỏa mãn các điều kiện ở trên

Input

Dòng đầu tiên ghi ~2~ số nguyên dương ~N~ và ~M~ là số thành phố và số tuyến đường.

Dòng thứ ~i~ trong số ~M~ dòng tiếp theo ghi ~3~ số nguyên dương ~x_{i}~, ~y_{i}~ và ~d_{i}~ với ý nghĩa tuyến đường thứ ~i~ có độ dài ~d_{i}~ và nối giữa ~2~ thành phố ~x_{i}~, ~y_{i}~.

Output

Dòng đầu tiên ghi số tự nhiên ~S~ là số lượng các thành phố có thể chọn làm trung tâm kinh tế thứ ba.

~S~ dòng tiếp theo, mỗi dòng ghi ~1~ số nguyên dương là số thứ tự của thành phố được chọn (In ra theo thứ tự tăng dần).

Sample Input

6 6
1 2 1
2 3 1
3 6 1
1 4 100
4 5 100
5 6 100

Sample Output

2
4
5

Note

Giới hạn

  • ~2 \leq N \leq 30000~
  • ~1 \leq M \leq 100000~
  • ~1 \leq d_{i} \leq 1000~

Comments

Please read the guidelines before commenting.



  • -3
    vidueduo  commented on Sept. 11, 2025, 7:32 a.m. edit 2

    I dont like british english


  • 1
    haiduong151109  commented on June 19, 2025, 7:45 a.m. edited

    https://ideone.com/Qxf4Yf sao code nay cua toi bi WA 3 test 8->10 v a


  • 2
    phannam310810  commented on April 21, 2025, 6:10 p.m.

    https://ideone.com/mnd76W sao code nay ko AC duoc test cuoi vay moi nguoi ai giup em voi huhu


    • 5
      pppssslc  commented on May 28, 2025, 2:43 p.m. edit 2

      code bạn sửa như này nhé:

      Chỗ này:

       if(d1[i] + dn[i] > shortest || (d1[i] + dn[i] == shortest && cnt1[i] * cnt2[i] < cnt1[n])){
           ans.push_back(i);
       }
      

      Sửa thành:

       if(d1[i] + dn[i] > shortest || (d1[i] + dn[i] == shortest && cnt1[i] * cnt2[i] != cnt1[n])){
           ans.push_back(i);
       }
      

      • 0
        pghuy1  commented on July 30, 2025, 3:29 a.m.

        sao lại sửa thế hả bạn


        • 2
          z  commented on July 31, 2025, 1:46 p.m.

          vì số đường đi có thể rất lớn, vượt kiểu long long. nên bản chất bạn đang thực hiện phép hash tràn số để so sánh cnt1[i] * cnt2[i] với cnt1[n]. và vì đó là phép hash nên giá trị đã bị mod đi rồi, vì vậy việc so sánh dùng dấu < là không đúng, mặc dù về bản chất thì nó đúng.


  • -10
    Crabrian  commented on Aug. 1, 2024, 12:56 p.m. edit 2

    This comment is hidden due to too much negative feedback. Show it anyway.


  • -8
    RussVN123  commented on June 23, 2024, 11:57 a.m. edit 2

    This comment is hidden due to too much negative feedback. Show it anyway.


  • -17
    phatnguyen  commented on Dec. 14, 2023, 9:10 a.m. edit 2

    This comment is hidden due to too much negative feedback. Show it anyway.


  • -16
    nguyenhainam1012cg  commented on Feb. 5, 2023, 4:25 p.m.

    This comment is hidden due to too much negative feedback. Show it anyway.


    • -13
      fuocs  commented on Sept. 19, 2023, 3:49 a.m. edited

      This comment is hidden due to too much negative feedback. Show it anyway.


      • -9
        P3T3R  commented on July 12, 2024, 6:12 a.m.

        This comment is hidden due to too much negative feedback. Show it anyway.


        • -25
          sunshine262  commented on July 31, 2024, 7:27 a.m.

          This comment is hidden due to too much negative feedback. Show it anyway.


  • 4
    fallingstar  commented on July 19, 2022, 2:23 a.m.

    Bài tập này đã được thêm test và chấm lại, nhiều bài nộp cũ đã không còn AC.


  • -30
    Duy_e  commented on April 24, 2021, 4:09 p.m.

    This comment is hidden due to too much negative feedback. Show it anyway.