Giúp bài tập C/C++ về đồ thị

  1. Có N thành phố được đánh số từ 0 đến N-1. Một người du lịch xuất phát từ 1 thành phố muốn đi thăm các thành phố khác, mỗi thành phố đúng 1 lần rồi quay về điểm xuất phát. Chi phí đi từ thành phố I đến thành phố j là A[i][j].(0 <= I,j <= N). Hãy tìm một hành trình cho người du lịch để tổng chi phí theo hành trình này là nhỏ nhất.
  2. Có N chi tiết được đánh số từ 0 đến N-1 cần được gia công. Các chi tiết có thể hoàn chỉnh trên một máy A hoặc trên một máy B. Các máy này có thể hoạt động độc lập và làm việc đồng thời. Biết thời gian gia công chi tiết I trên máy A là A[i] và trên máy B là B[i]. Hãy tìm 1 phương án phân công cho các máy để thời gian hoàn chỉnh cả N chi tiết là sớm nhất.
1 Like

Mình thấy nó thiên về mảng hơn ấy :slight_smile:

bạn cung cấp thêm file input đầu vào đi cho dễ test …
Mình cũng mới học qua C , Mình cũng sẽ thử làm bài này nên sẽ k có code sẵn ,

  1. Hướng đi của mình thử dùng thoạt toán disktra xem .
    2 . cái này mình nghĩ dùng loop for để tìm min giữa phần tử A [i] vs B[i] …

xuất nhập file à bạn ~~ cái này mình biết :wink: mà cái thuật toán mình c biết làm sao @@

Bài 1. Bạn có thể tìm hiểu về các thuật toán tìm đường đi ngắn nhất.
Bài 2. Mình nghĩ có lẽ dùng Try để thử các trường hợp nó. Tất nhiên là sẽ mất thời gian. Nếu có test input và output thì có lẽ dễ hơn

Bài 1 mình nghĩ là dùng thuật toán dijkstra tìm đường đi ngắn nhất trên đồ thị có trọng số là ra

Bài 1 sử dụng chu trình Euler.
Bài 2 trông giống cặp ghép nhưng không biết đúng không nữa.

ai có thể code giúp đc k ạ e mới học nên c rõ code s :disappointed:

2 bài này thuộc vào loại “kinh điển” khi mới học về đồ thị.
Bạn có thể tham khảo:
https://davidng94.wordpress.com/2015/09/16/artificial-intelligence/

Topic của bạn có thể xem là một topic hỏi bài, vi phạm quy định của diễn đàn. Xin được close tại đây.

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?