Pagini recente »
Borderou de evaluare (job #638863)
|
Borderou de evaluare (job #598049)
|
Borderou de evaluare (job #42360)
|
Borderou de evaluare (job #105847)
|
Cod sursă (job #439789)
Cod sursă (job
#439789)
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
int i,j,n,m;
ifstream f("dragoni2.in");
ofstream g("dragoni2.out");
int v;
f>>v;
f>>n>>m;
int a[n+1];
for (i=1;i<=n;i++)
f>>a[i];
int b[n+1][n+1];
int ins1[m+1],ins2[m+1],dist[m+1];
for (i=1;i<=m;i++)
f>>ins1[i]>>ins2[i]>>dist[i];
if (v==1)
{
bool lock[n+1];
for (i=1;i<=n;i++)
lock[i]=false;
lock[1]=true;
int maxim=0;
for (i=1;i<=n;i++)
{
if ((lock[ins1[i]]==true) && (dist[i]<=a[1]))
lock[ins2[i]]=true;
else
if ((lock[ins2[i]]==true) && (dist[i]<=a[1]))
lock[ins1[i]]=true;
}
for (i=1;i<=n;i++)
if ((lock[i]==true) && (maxim<a[i]))
{
maxim=a[i];
}
g<<maxim;
/*for (i=1;i<=n;i++)
{
for (j=1;j<=n;j++)
cout<<b[i][j]<<" ";
cout<<endl;
}*/
}
else
{
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
b[i][j]=0;
for (i=1;i<=n;i++)
cout<<a[i]<<endl;
for (i=1;i<=m;i++)
{
b[ins1[i]][ins2[i]]=dist[i];
b[ins2[i]][ins1[i]]=dist[i];
}
i=1;
}
f.close();
g.close();
return 0;
}