poj2240 水题 熟悉map用法及string用法 Frolyd算法

来源:互联网 发布:个人网络循环贷款 编辑:程序博客网 时间:2024/05/19 17:24
#include <stdio.h>#include <iostream>#include <string> #include <map>using namespace std;int main(){ int n,m,caseNum; string s,t; double r; double array[30][30]; map <string, int>mp; while(cin>>n&&n){    caseNum++;    int cnt=0;//币的种类    for(int i=0;i<n;i++)       { cin>>s;          mp[s]=cnt;          cnt++;       }     cin>>m;      memset(array,1,sizeof(array));     for(int i=0;i<m;i++){         cin>>s>>r>>t;         array[mp[s]][mp[t]]=r;             }          for(int k=0;k<n;k++)        for(int i=0;i<n;i++)           for(int j=0;j<n;j++)              {double t=array[i][k]*array[k][j];                if(array[i][j]<t)                   array[i][j]=t;              }     bool flag=false;     for(int i=0;i<n;i++)        if(array[i][i]>1)          {flag=true;break;          }     if(flag)           cout<<"Case "<<caseNum<<": Yes"<<endl;      else cout<<"Case "<<caseNum<<": No"<<endl;                                        }         system("pause");  return 0;}

原创粉丝点击