markdown 在线制作ppt json校验和格式化工具

POJ 2240

  1 #include<iostream>
  2 #include<stdio.h>
  3 #include<string>
  4 #include<algorithm>
  5 #include<map>
  6 #define MAXN 35
  7 using namespace std;
  8 
  9 map<string,int> coll;
 10 map<string,int>::iterator pos1,pos2;
 11 double _m[MAXN][MAXN];
 12 bool _wall[MAXN][MAXN];
 13 bool give_num(int n);
 14 int main()
 15 {
 16     //freopen("acm.acm","r",stdin);
 17     int n;
 18     int edge;
 19     int i;
 20     int j;
 21     int k;
 22     double value;
 23     string s;
 24     string u;
 25     string v;
 26     int time = 0;
 27     while(1)
 28     {
 29         //memset(_m,-1.0,sizeof(_m));
 30         cin>>n;
 31         //getchar();
 32         if(!n)
 33             break;
 34         for(i = 0; i < n; ++i)
 35         {
 36             for(j = 0; j < n; ++ j)
 37             {
 38                 _m[i][j] = -1.0;
 39             }
 40         }
 41 
 42         cout<<"Case "<<++ time<<": ";
 43         for(i = 0; i < n; ++ i)
 44         {
 45             cin>>s;
 46             coll.insert(pair<string,int>(s,i));
 47         }
 48         cin>>edge;
 49         for(i = 0; i < edge; ++ i)
 50         {
 51             cin>>u>>value>>v;
 52             pos1 = coll.find(u);
 53             pos2 = coll.find(v);
 54     //        cout<<pos1->second<<"---------------"<<pos2->second<<endl;
 55             _m[pos1->second][pos2->second] = value;
 56         //    _m[pos2->second][pos1->second] = value;
 57         }
 58     //    for(i = 0; i < n; ++ i)
 59     //    {
 60     //        for(j = 0; j < n; ++ j)
 61     //        {
 62     //            cout<<_m[i][j]<<" ";
 63     //        }
 64     //        cout<<endl;
 65     //    }
 66         if(give_num(n))
 67             cout<<"Yes"<<endl;
 68         else
 69             cout<<"No"<<endl;
 70         coll.clear();
 71     }
 72 }
 73 
 74 bool give_num(int n)
 75 {
 76     int k;
 77     int i;
 78     int j;
 79     double tem;
 80     for(k = 0; k < n; ++ k)
 81     {
 82         for(i = 0; i < n; ++ i)
 83         {
 84             for(j = 0; j < n; ++ j)
 85             {
 86             //    cout<<"00000000000000 "<<1.0/(_m[i][k] * _m[k][j])<<"--------"<<_m[j][i]<<endl;
 87                 if(_m[i][k] != -1.0 && _m[k][j] != -1.0 )
 88                 {
 89                     if(_m[j][i] != -1.0)
 90                     {
 91                         if(( _m[i][k] * _m[k][j]) * _m[j][i] > 1.0)
 92                         {
 93             //                cout<<"00000000000000 "<<1.0/(_m[i][k] * _m[k][j])<<endl;
 94                             return true;
 95                         }
 96                     }
 97                 //    else
 98                 //    {
 99                         
100                     //}
101                     if(_m[i][k] * _m[k][j] > _m[i][j])
102                     {
103                            _m[i][j] = ( _m[i][k] * _m[k][j]);
104                     }
105                 }
106             }
107         }
108     }
109     return false;
110 }

 

posted @ 2015-06-10 17:11  GavinHacker  阅读(119)  评论(0编辑  收藏  举报
markdown 在线制作ppt json校验和格式化工具