Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define INF 1000000
- #include <iostream>
- using namespace std;
- int n,m,c[101][101],a[101][101];
- void citire()
- {
- int x,y,cost;
- cin>>n>>m;
- for(int i=1;i<=m;i++)
- {
- cin>>x>>y>>cost;
- c[x][y]=cost;
- a[x][y]=cost;
- }
- }
- void matrice()
- {
- for(int i=1;i<=n;i++)
- for(int j=1;j<=n;j++)
- if(i!=j && c[i][j]==0)
- c[i][j]=a[i][j]=INF;
- }
- void RoyFloyd()
- {
- for(int k=1;k<=n;k++)
- for(int i=1;i<=n;i++)
- for(int j=1;j<=n;j++)
- if(c[i][j]>c[i][k]+c[k][j])
- c[i][j]=c[i][k]+c[k][j];
- }
- int main()
- {
- citire();
- matrice();
- RoyFloyd();
- int nr=0;
- for(int i=1;i<=n;i++)
- for(int j=1;j<=n;j++)
- if(c[i][j]==a[i][j] && c[i][j]>0 && c[i][j]<INF)
- nr++;
- cout<<nr;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement