UVALive 6432 Influence 搜索 剪枝
2016-09-11 19:05
316 查看
//题目:http://www.51isoft.com/v3/external/64/6432.pdf //参考博客:http://blog.csdn.net/q295657451/article/details/39211067 #include <stdio.h> #include <string> #include <cstring> #include <queue> #include <algorithm> #include <functional> #include <vector> #include <sstream> #include <iomanip> #include <math.h> #include <iostream> #include <sstream> #include <time.h> #include <stack> #include <set> #include <map> #include <time.h> #include <bitset> using namespace std; const int MAX_N = 5005; vector<int> G[MAX_N]; bitset<MAX_N> bi[MAX_N]; bool vis[MAX_N], isX[MAX_N]; void init() { for (int i = 0; i < MAX_N; ++i) { G[i].clear(); bi[i].reset(); bi[i].set(i); vis[i] = false; } } void dfs(int cur) { vis[cur] = true; int size = G[cur].size(); for (int i = 0; i < size; i++) { int now = G[cur][i]; if (!vis[now]) dfs(now); bi[cur] |= bi[now]; } } int main() { int n, k, num, x; while (~scanf("%d %d", &n, &k)) { init(); for (int i = 0; i < k; ++i) { scanf("%d", &num); isX[num] = true; } string s; for (int i = 1; i <= n; ++i) { scanf("%d", &num); getline(cin, s); stringstream ss(s); while (ss >> x) G[num].push_back(x); } int ans = 0, id; for (int i = 1; i <= n; ++i) { if (!vis[i]) dfs(i); int tmp = bi[i].count(); if (isX[i] && (tmp > ans || (tmp == ans && i < id))) { ans = tmp; id = i; } } printf("%d\n", id); } return 0; }
相关文章推荐
- UVALive 6432 —— Influence(记忆化搜索 + 状态压缩)
- UVALive-4793 Robots on Ice 搜索加剪枝
- UVALive 4527 Vaccination Centers 搜索+剪枝
- Regionals 2009 :: Asia - Hsinchu UVALIVE, 4527 Vaccination Centers - 搜索剪枝
- Regionals 2009 >> Asia - Hsinchu UVALIVE, 4529 A Constrained Queen Game - 搜索剪枝
- 文章标题 UVALive 6432 Influence(dfs)
- UVALive 6432 Influence // 暴力dfs
- UVALive - 7672 - What a Ridiculous Election(搜索预处理)
- uvalive 3971 - Assemble(二分搜索 + 贪心)
- UVALive 6168 Fat Ninjas --二分小数+搜索
- UVALive - 4356 Fire-Control System 三角函数+暴力+剪枝
- UVALive-7354-Kitchen Measurements(BFS搜索)
- UVALive 5844 dfs暴力搜索
- UVA 1063|11318|UVALive 3807|Marble Game|搜索
- UVALive - 3902 Network 无根树转为有跟树+搜索+贪心
- UVA 649 - You Who?(搜索+位运算+剪枝)
- UVALive 6902 Three Squares(二分 + 搜索)
- 【暴力预处理+剪枝/bitset】Golf Bot UVALive - 6886
- UVaLive/LA 6809 Spokes Wheel(搜索,二进制循环移位)
- 搜索(DFS+BFS)——UVA Live 6455