Pagini recente » Cod sursa (job #2345521) | Cod sursa (job #37971) | Cod sursa (job #1631107) | Cod sursa (job #2353174) | Cod sursa (job #197666)
Cod sursa(job #197666)
#include <fstream>
std::ifstream f1("reconst.in");
std::ofstream f2("reconst.out");
void rez();
long s[2020][2020];
int n;
int main()
{
int m,i, j, a, b;
f1>>n>>m;
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
s[i][j]=4000000;
for (i=0; i<m; i++)
{
f1>>a;
f1>>b;
f1>>s[a][b];
}//for i
rez();
rez();
for (i=1; i<=n; i++)
{
if (s[i][i]==4000000)
{
s[i][i]=0;
rez();
}//if
f2<<s[i][i];
if (i<n)
f2<<" ";
}//for i
f1.close();
f2.close();
}//main
void rez()
{
int i, j, k;
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
if (s[i][j]!=4000000)
{
for (k=j+2; k<=n; k++)
if (s[j+1][k]!=4000000)
s[i][k]=s[i][j]+s[j+1][k];
for (k=j+1; k<=n; k++)
if (s[i][k]!=4000000)
s[j+1][k]=s[i][k]-s[i][j];
for (k=i+1; k<=n; k++)
if (s[k][j]!=4000000)
s[i][k-1]=s[i][j]-s[k][j];
}//if
}//rez