poj2240 floyd

时间:2023-03-09 16:52:48
poj2240 floyd
 //Accepted    732 KB    782 ms
 //floyd应用
 #include <cstdio>
 #include <cstring>
 #include <iostream>
 #include <queue>
 #include <cmath>
 #include <map>
 #include <algorithm>
 using namespace std;
 /**
   * This is a documentation comment block
   * 如果有一天你坚持不下去了,就想想你为什么走到这儿!
   * @authr songt
   */
 ;
 double a[imax_n][imax_n];
 map<string ,int > mp;
 int n;
 double max(double a,double b)
 {
     ) return b;
     return a;
 }
 void floyd()
 {
     ;k<=n;k++)
     ;i<=n;i++)
     ;j<=n;j++)
      && a[k][j]>1e-)
     a[i][j]=max(a[i][j],a[i][k]*a[k][j]);
     /*
     for (int i=1;i<=n;i++)
     {
         for (int j=1;j<=n;j++)
         {
             printf("%.3lf ",a[i][j]);
         }
         printf("\n");
     }
     */
 }
 int main()
 {
     ;
     string s;
     string s1,s2;
     double rate;
     while (scanf("%d",&n),n)
     {
         mp.clear();
         ;i<=n;i++)
         {
             cin>>s;
             mp[s]=i;
         }
         int m;
         scanf("%d",&m);
         ;i<=n;i++)
         ;j<=n;j++)
         {
             ;
             ;
         }
         ;i<=m;i++)
         {
             cin>>s1>>rate>>s2;
             //cout<<mp[s1]<<" "<<mp[s2]<<endl;
             a[mp[s1]][mp[s2]]=rate;
         }
         floyd();
         ;
         ;i<=n;i++)
         >1e-) flag=;
         printf("Case %d: ",++t);
         if (flag) printf("Yes\n");
         else printf("No\n");
     }
     ;
 }