zoukankan      html  css  js  c++  java
  • pku1463 Strategic game

    http://poj.org/problem?id=1463

    DP,树状DP,或二分图匹配

     1 #include <iostream>
     2 #include <stdio.h>
     3 #include <string.h>
     4 #include <vector>
     5 using namespace std;
     6 
     7 const int N = 1505;
     8 
     9 int pre[N];
    10 bool flag[N];
    11 vector<int> map[N];
    12 int n;
    13 
    14 int find(int x)
    15 {
    16     int i, k;
    17     for(i = 0; i < map[x].size(); i++)
    18     {
    19         k = map[x][i];
    20         if(!flag[k])
    21         {
    22             flag[k] = true;
    23             if(pre[k] == -1 || find(pre[k]))
    24             {
    25                 pre[k] = x;
    26                 return 1;
    27             }
    28         }
    29     }
    30     return 0;
    31 }
    32 
    33 int main()
    34 {
    35     int i, j, r, k, num, sum;
    36     while(scanf("%d", &n) != EOF)
    37     {
    38         memset(pre, -1, sizeof(pre));
    39         for(i = 0; i < n; i++) map[i].clear();
    40         for(i = 0; i < n; i++)
    41         {
    42             scanf("%d:(%d)", &k, &num);
    43             for(j = 0; j < num; j++)
    44             {
    45                 scanf("%d", &r);
    46                 map[k].push_back(r);    //用邻接表
    47                 map[r].push_back(k);    //建双向图
    48             }
    49         }
    50         sum = 0;
    51         for(i = 0; i < n; i++)
    52         {
    53             memset(flag, false, sizeof(flag));
    54             sum += find(i);
    55         }
    56         printf("%d\n", sum/2);
    57     }
    58     return 0;
    59 }
  • 相关阅读:
    JSP
    Map集合的四种遍历
    过滤器和监听器
    Web常用对象(2)
    Web常用对象(1)
    Java Web了解和Servlet初次见面
    面向对象之继承(1)
    SpringBoot使用简单缓存
    SpringBoot整合mybatis
    Spring Security 入门学习--数据库认证和授权
  • 原文地址:https://www.cnblogs.com/yuan1991/p/pku1463.html
Copyright © 2011-2022 走看看