Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Author : unlucky_13
- Probs_link :
- Category : TOO easy to_int() function is nice
- Algorithm_Used : FW
- */
- #include<cstdio>
- #include<sstream>
- #include<cstdlib>
- #include<cctype>
- #include<cmath>
- #include<algorithm>
- #include<set>
- #include<queue>
- #include<stack>
- #include<list>
- #include<iostream>
- #include<fstream>
- #include<numeric>
- #include<string>
- #include<vector>
- #include<cstring>
- #include<map>
- #include<iterator>
- #define LL long long int
- const long long int inf = 2147483647;
- //const int min=;
- //const int maxn=;
- using namespace std;
- int to_int(char *s){
- int ret=0 ;
- for(int i=0;s[i]!='\0';i++){
- ret = ret*10+(s[i]-'0') ;
- }
- //cout<<ret<<endl ;
- return ret ;
- }
- int main() {
- freopen("C:\\Users\\Mazhar\\Desktop\\in.txt", "r", stdin);
- int n ,dis[200][200];
- char in[100] ;
- while(scanf("%d",&n)!=EOF){
- /*for(int i=0;i<=n;i++){
- for(int j=0;j<=n;j++) dis[i][j]=inf ;
- }*/
- for(int i=2;i<=n;i++){
- for(int j=1;j<i;j++){
- scanf("%s",in) ;
- if(in[0]=='x') dis[i][j] = dis[j][i] = inf ;
- else dis[i][j] = dis[j][i]= to_int(in) ;
- }
- }
- //FW
- for(int k=1;k<=n;k++){
- for(int i=1;i<=n;i++){
- for(int j=1;j<=n;j++){
- if(dis[i][k]<inf && dis[k][j]<inf && dis[i][j]>dis[i][k]+dis[k][j]){
- dis[i][j] = dis[i][k]+dis[k][j] ;
- //cout<<"updated"<<endl ;
- }
- }
- }
- }
- int ans = 0 ;
- for(int i=2;i<=n;i++){
- // cout<<dis[1][i]<<endl ;
- ans = max(ans,dis[1][i]) ;
- }
- printf("%d\n",ans) ;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment