标签:gui 分享 print oid class https ide mem 技术
因为是路 所以 如果 1——3 2——3 3——4 3——5 则 1——4 1——5 2——4 2——5 都是是合法的 又因为机器人是可以相遇的 所以 我们把所有的点 分别放在左边和右边 去匹配 就能实现 路的连通性
连通的路一个机器人就能遍历所有的点 没有路的点需要一个一个的机器人去找。。。
直接用别人的代码了。。。https://www.cnblogs.com/zhengguiping--9876/p/4726653.html
#include<stdio.h> #include<string.h> #include<queue> #include<algorithm> using namespace std; #define N 510 int vis[N], used[N], maps[N][N], n, ans; void floyd() { for(int k=1; k<=n; k++) for(int i=1; i<=n; i++) for(int j=1; j<=n; j++) if(maps[i][k] && maps[k][j]) maps[i][j] = 1; } bool Find(int u) { for(int i=1; i<=n; i++) { if(!vis[i] && maps[u][i]) { vis[i] = 1; if(!used[i] || Find(used[i])) { used[i] = u; return true; } } } return false; } int main() { int a, b, m; while(scanf("%d%d", &n, &m), m+n) { memset(maps, 0, sizeof(maps)); for(int i=0; i<m; i++) { scanf("%d%d", &a, &b); maps[a][b] = 1; } floyd(); ans = 0; memset(used, 0, sizeof(used)); for(int i=1; i<=n; i++) { memset(vis, 0, sizeof(vis)); if(Find(i)) ans++; } printf("%d\n", n - ans); } return 0; }
Treasure Exploration POJ - 2594(最小边覆盖)
标签:gui 分享 print oid class https ide mem 技术
原文地址:https://www.cnblogs.com/WTSRUVF/p/9314242.html