Need Help Debugging Floyd-Warshall Patches with Specific Graph Conditions

I have been working on this problem for quite a few days at this point and am making no progress. I haven’t been able to make any progress and would be the happiest man alive if I was given some advice on how to move forward or even the solution to this problem.

I have given the problem here and my current attempt at a solution below:

Problem – Here is an incorrect implementation of Floyd-Warshall.

floyd_warshall(dist, n):

Assume dist[i][j] is positive infinity if there is no edge between them

for i ranging from 1 to n:
for j ranging from 1 to n:
for k ranging from 1 to n:
dist[i][j] = min(dist[i][j], dist[i][k] + dist[k][j])
Here is an attempt at patching it.

floyd_warshall_patch1(dist, n, k):

dist[i][i] is zero

dist[i][j] is otherwise the weighted of the directed edge from i to j if it exists

dist[i][j] is otherwise positive infinity

for i ranging from 1 to k:
floyd_warshall(dist, n)
Here is another attempt at patching it.

floyd_warshall_patch2(dist, n)

dist[i][i] is zero

dist[i][j] is otherwise the weighted of the directed edge from i to j if it exists

dist[i][j] is otherwise positive infinity

for i ranging from 1 to n:
for j ranging from 1 to n:
for k ranging from 1 to n:
dist[j][k] = min(dist[j][k], dist[j][i] + dist[i][k])
Your job is to construct a directed graph with N vertices and M edges such that, given a parameter K, the output of floyd_warshall_patch1 when given matches the output of floyd_warshall_patch2 on the given graph, but the output of floyd_warshall_patch1 when given K−1 does not.

Additional Constraints -(https://i.sstatic.net/gw1gVpkI.png)

My solution – def floyd_warshall_patch1(dist, n, k):
for i in range(k):
dist[i][i] = 0
for k in range(n):
for i in range(n):
for j in range(n):
dist[i][j] = min(dist[i][j], dist[i][k] + dist[k][j])

def floyd_warshall_patch2(dist, n):
for i in range(n):
dist[i][i] = 0
for k in range(n):
for i in range(n):
for j in range(n):
dist[i][j] = min(dist[i][j], dist[i][k] + dist[k][j])

def create_graph(N, M, K):

if K >= N or K == N - 1 or M < N - 1:
    return "NO", []

edges = []
# Create a path from 1 to N
for i in range(1, N):
    edges.append((i, i + 1, 1))

# Add a back edge to form a cycle
if M > N - 1:
    edges.append((N, 1, 10))  # Adding a cycle with a reasonable weight

# Optionally add more complexity with additional edges
additional_edges = M - len(edges)
while additional_edges > 0:
    from_node = additional_edges % N + 1
    to_node = (additional_edges * 2) % N + 1
    if from_node != to_node:
        edges.append((from_node, to_node, additional_edges + 5))  # Randomized weight for complexity
    additional_edges -= 1

return "YES", edges

N, M, K = map(int, input().split())

result, edges = create_graph(N, M, K)

print(result)
if result == “YES”:
for edge in edges:
print(” “.join(map(str, edge)))

I just have no idea what to do.

New contributor

neverbackdown is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa
Thiết kế website Thiết kế website Thiết kế website Cách kháng tài khoản quảng cáo Mua bán Fanpage Facebook Dịch vụ SEO Tổ chức sinh nhật