Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #define INF 1000000
- 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