Pagini recente » Cod sursa (job #1290465) | Cod sursa (job #1108053) | Cod sursa (job #760050) | Cod sursa (job #556931) | Cod sursa (job #2274589)
#include<stdio.h>
#include<stdlib.h>
#include<vector>
#include <queue>
using namespace std;
int A[100][100];
int D[100][100];
int N;
#define INF 100000
void drumuriminime(){
for(int k=0;k<N;k++){
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
if(D[i][j] > D[i][k] + D[k][j])
D[i][j] = D[i][k] + D[k][j];
}
}
}
}
int main(){
FILE* f= fopen("royfloyd.in","rt");
FILE* g= fopen("royfloyd.out","wt");
fscanf(f,"%d",&N);
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
fscanf(f,"%d", &A[i][j]);
D[i][j]=A[i][j];
}
}
drumuriminime();
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
fprintf(g,"%d ",D[i][j]);
}
fprintf(g,"\n");
}
fclose(g);
fclose(f);
return 0;
}