Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Green ))
- #include<iostream>
- #include<stdio.h>
- #include<cstdlib>
- #include<math.h>
- #include<algorithm>
- #include<fstream>
- #include<string>
- #include<queue>
- #include<bitset>
- #include<stack>
- #define PI 3.141592653589793
- #define INF 99999
- using namespace std;
- int n,a,b,g[107][107],viz[170]={0},d[700],mina,w,z;
- int main() {
- freopen("input.txt","r",stdin);
- freopen("output.txt","w",stdout);
- //shemotana
- cin>>n>>a>>b;
- for (int i=1;i<=n;i++)
- for (int j=1;j<=n;j++)
- cin>>g[i][j];
- //d_s usasrulobebit shevseba
- for (int i=1;i<=n;i++)
- d[i]=INF;
- d[a]=0;
- //mtavari cikli
- for (int i=1;i<=n;i++){
- //d masivshi minimumi
- w=-INF;
- mina=INF;
- for (int j=1;j<=n;j++)
- if ((mina>d[j]) && (viz[j]==0)) { mina=d[j]; w=j;}
- if (w<0) break;
- viz[w]=1;
- //mezoblebis shecvla
- for (int k=1;k<=n;k++)
- if ((g[w][k]>-1) && (w!=k)) {
- z=g[w][k];
- if (d[k]>(d[w]+z)) d[k]=d[w]+z;
- }
- }
- //gamotana
- if (d[b]==INF) cout<<-1;
- else cout<<d[b];
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement