Pagini recente » Cod sursa (job #240714) | Cod sursa (job #2254579) | Cod sursa (job #1256261) | Cod sursa (job #1542693) | Cod sursa (job #758418)
Cod sursa(job #758418)
#include <cstdio>
#include <iostream>
#include <fstream>
#include <list>
#include <limits.h>
#include <stdio.h>
#include <vector>
#include <string>
#include <map>
#include <set>
#include <stdio.h>
#include <algorithm>
#include <deque>
#include <string.h>
#define NMAX 101
int mat[NMAX][NMAX];
int main()
{
FILE* f = fopen("royfloyd.in","r");
FILE* g = fopen("royfloyd.out","w+");
int n;
fscanf(f,"%d",&n);
for (int i=0;i<n;i++)
for (int j=0;j<n;j++){
fscanf(f,"%d",&mat[i][j]);
}
for (int k=0;k<n;k++)
for (int i=0;i<n;i++)
for (int j=0;j<n;j++)
{
if (i!=j){
int x = mat[i][k]+mat[k][j];
if ((mat[i][k]==0) || (mat[k][j]==0) ) x=0;
if ((x!=0) && (x<mat[i][j] || mat[i][j] == 0))
mat[i][j] = x;
}
}
for (int i=0;i<n;i++){
for (int j=0;j<n;j++){
fprintf(g,"%d ",mat[i][j]);
}
fprintf(g,"\n");
}
fclose(f);
fclose(g);
}