Pagini recente » Cod sursa (job #1062965) | Cod sursa (job #1094627) | Cod sursa (job #1210203) | Cod sursa (job #1397115) | Cod sursa (job #197653)
Cod sursa(job #197653)
#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, k, 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
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
if (s[i][j]!=4000000)
{
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
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+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[i][k]!=4000000)
s[j][k-1]=s[i][k]-s[i][j];
}//if
}//rez