This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
const int mxN=700;
int n, m, k, a, b, d[mxN][mxN], ui, vi;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> n >> m >> k >> a >> b, --k;
memset(d, 0x3f, sizeof(d));
while(m--) {
cin >> ui >> vi, --ui, --vi;
d[ui][vi]=d[vi][ui]=a;
}
for(int i=0; i<n; ++i)
for(int j=0; j<n; ++j)
if(d[i][j]==a)
for(int k=0; k<n; ++k)
if(d[j][k]==a&&d[i][k]!=a)
d[i][k]=-1;
for(int i=0; i<n; ++i)
for(int j=0; j<n; ++j)
if(d[i][j]==-1)
d[i][j]=b;
d[k][k]=0;
for(int k=0; k<n; ++k)
for(int i=0; i<n; ++i)
for(int j=0; j<n; ++j)
d[i][j]=min(d[i][k]+d[k][j], d[i][j]);
for(int i=0; i<n; ++i)
cout << d[k][i] << "\n";
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |