LightOJ - 1403 Air Raid(二分图)
2015-11-03 22:57
537 查看
题目大意:求DAG的数量
解题思路:DAG的数量,就是最大独立集的数量
解题思路:DAG的数量,就是最大独立集的数量
#include <cstdio> #include <cstring> #include <vector> using namespace std; const int N = 1010; vector<int> G ; int left ; int n, m, cas = 1; bool vis ; void init() { scanf("%d%d", &n, &m); for (int i = 1; i <= n; i++) G[i].clear(); int u, v; for (int i = 1; i <= m; i++) { scanf("%d%d", &u, &v); G[u].push_back(v); } } bool dfs(int u) { for (int i = 0; i < G[u].size(); i++) { int v = G[u][i]; if (vis[v]) continue; vis[v] = true; if (!left[v] || dfs(left[v])) { left[v] = u; return true; } } return false; } void solve() { int ans = 0; memset(left, 0, sizeof(left)); for (int i = 1; i <= n; i++) { memset(vis, 0, sizeof(vis)); if (dfs(i)) ans++; } printf("Case %d: %d\n", cas++, n - ans); } int main() { int test; scanf("%d", &test); while (test--) { init(); solve(); } return 0; }
相关文章推荐
- 【git/内源开发】fatal: Out of memory, malloc failed问题的解决
- [leetcode 172] Factorial Trailing Zeroes
- MOSS程序中如何发Mail?
- 2015-11-3-Training(for 2014th)
- 如何使用sendEmail发送邮件
- LeetCode——Contains Duplicate III
- Android SDK安装更新:Failed to fetch URL https://dl-ssl.google.com/android/repository/addons_list-2.xml
- 【leetcode】11. Container With Most Water
- leetcode-Contains Duplicate
- error C2556: “void main(void)”: 重载函数与“int main(void)”只是在返回类型上不同
- LINK : error LNK2001: 无法解析的外部符号 _mainCRTStartup
- Repair the Wall
- http://blog.csdn.net/chenli522/article/details/17001823
- Daily Scrum (2015/11/2)
- Hdu 2476 String painter (区间DP)
- 创建新项目paimai的一些记录
- 解决gitosis.init.InsecureSSHKeyUsername: Username contains not allowed characters问题
- 【UKIEPC2015 J】【趣味迷宫搜索】Jelly Raid 来回巡逻 不被发觉 循环节预处理
- No source available for "0x0" 出现这种问题的处理方法
- Rails