superman

聚精会神搞建设 一心一意谋发展
posts - 190, comments - 17, trackbacks - 0, articles - 0
   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

URAL 1109 - Conference

Posted on 2008-04-14 23:02 superman 阅读(190) 评论(0)  编辑 收藏 引用 所属分类: URAL
 1 /* Accepted 0.39 1 200 KB */
 2 #include <iostream>
 3 
 4 using namespace std;
 5 
 6 int n, m, match[1000];
 7 bool map[1000][1000], visited[1000];
 8 
 9 bool dfs(int p)
10 {
11     for(int i = 0; i < m; i++)
12         if(map[p][i] && visited[i] == false)
13         {
14             visited[i] = true;
15             if(match[i] == -1 || dfs(match[i]))
16             {
17                 match[i] = p;
18                 return true;
19             }
20         }
21     return false;
22 }
23 
24 int main()
25 {
26     int s, t;
27     cin >> n >> m >> s;
28     while(cin >> s >> t)
29     {
30         s--, t--;
31         map[s][t] = true;
32     }
33     
34     int cnt = 0;
35     memset(match, 0XFFsizeof(match));
36     for(int i = 0; i < n; i++)
37     {
38         memset(visited, falsesizeof(visited));
39         cnt += dfs(i);
40     }
41     
42     cout << n + m - 2 * cnt + cnt << endl;
43     
44     return 0;
45 }
46 

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理