• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            POJ 1087 C++ (圖論)

            //題目太難懂了,建模比較困難
            //很多人把它做成二分圖
            匹配
            //但貌似用最大流也能求出來
            #include<iostream>
            #include<string>
            #include<map>
            using namespace std;
            int nr,np,na,flag,res,node;
            int arr[402][402];
            int q[1000],pre[1000],used[402];
            map <string,int> PR;

            int path(int s)
            { int u,head,tail,temp,i,j;
              head=tail=0;
              q[tail++]=s;
              used[s]=1;
              while(head<tail)
                   { temp=tail;
                     for(i=head;i<temp;i++)
                         {    u=q[i];
                              if(u==1)
                                 return 1;
                              for(j=0;j<node;j++)
                                 if(used[j]==0 && arr[u][j]>0)
                                    {pre[j]=u;
                                     used[j]=1;
                                     q[tail++]=j;
                                     }
                          }
                      head=temp;
                   }
              return 0;      
            }


            void  ford_fulkerson()
            { int i,j,u,v,min,x,y;
              min=INT_MAX;
              u=pre[1];
              v=1;
              while(u>=0)
                   {if(arr[u][v]<min)
                         min=arr[u][v];
                        v=u;
                        u=pre[u];
                   }
                
              u=pre[1];
              v=1;
              while(u>=0)
                   {   arr[u][v]=arr[u][v]-min;
                       arr[v][u]=arr[v][u]+min;
                       v=u;
                       u=pre[u];
                    }
               res=res+min;       
            }       


            int main()
            {int u,v,w,i,j;
             char str1[25],str2[25];
                   freopen("in.txt","r",stdin);
                   freopen("out.txt","w",stdout);
                     scanf("%d",&nr);
                      flag=0;
                      res=0;
                      node=2;
                      for(i=0;i<nr;i++)
                         { scanf("%s",str1);
                           if(!PR[str1])
                               PR[str1]=node++;
                           arr[0][PR[str1]]++;
                         }
                    
                     scanf("%d",&np);
                     for(i=0;i<np;i++)
                         {  scanf("%s%s",str1,str2);
                             if(!PR[str2])
                                PR[str2]=node++;
                            arr[PR[str2]][1]++;
                         }   
                    
                     scanf("%d",&na);
                     for(i=0;i<na;i++)
                         {   scanf("%s%s",str1,str2);
                             if(!PR[str1])
                                PR[str1]=node++;
                              if(!PR[str2])
                                PR[str2]=node++; 
                              arr[PR[str2]][PR[str1]]=INT_MAX;
                          }    
                      
                     while(!flag)
                         { memset(used,0,sizeof(used));
                           memset(pre,-1,sizeof(pre));
                           if(path(0))
                              ford_fulkerson();
                            else
                              flag=1;
                          }
               printf("%d\n",np-res);  
               return 0;
            }   

            posted on 2008-11-28 14:06 蝸牛 閱讀(1383) 評論(0)  編輯 收藏 引用 所屬分類: ACM ICPC

            <2008年11月>
            2627282930311
            2345678
            9101112131415
            16171819202122
            23242526272829
            30123456

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿(1)

            隨筆分類(20)

            隨筆檔案(20)

            Favorites

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            国产精品99精品久久免费| 欧美激情精品久久久久久| 久久久www免费人成精品| 国产精品视频久久久| 久久久久久夜精品精品免费啦| 亚洲午夜久久久久久久久电影网| 久久精品中文无码资源站| 色8久久人人97超碰香蕉987| 潮喷大喷水系列无码久久精品| 精品午夜久久福利大片| 久久久久一级精品亚洲国产成人综合AV区 | 久久久久久噜噜精品免费直播| 国产福利电影一区二区三区久久老子无码午夜伦不 | 久久se精品一区二区影院 | AAA级久久久精品无码片| 精品国产一区二区三区久久| 国产午夜精品理论片久久| 中文字幕乱码人妻无码久久| 婷婷综合久久狠狠色99h| 99久久这里只精品国产免费| 国产精品久久成人影院| 怡红院日本一道日本久久 | 精品国产乱码久久久久久浪潮| 久久久久波多野结衣高潮| 久久精品国产免费| 色综合久久中文字幕无码| 久久99精品国产麻豆不卡| 日韩精品久久久久久久电影蜜臀| 久久久久亚洲?V成人无码| 久久精品国产亚洲AV嫖农村妇女| 免费精品久久久久久中文字幕| 日本福利片国产午夜久久| 久久99热只有频精品8| 久久久久久久久久久| 亚洲а∨天堂久久精品| 99久久精品久久久久久清纯| 国产V亚洲V天堂无码久久久| 香蕉久久av一区二区三区| 中文字幕热久久久久久久| 无码人妻久久一区二区三区蜜桃| 日产久久强奸免费的看|