POJ 2236 Wireless Network(并查集)
来源:互联网 发布:西成高铁 知乎 编辑:程序博客网 时间:2024/05/16 00:39
简单的并查集, 不过真佩服那些几十毫秒AC的。我用了1000ms+
#include <cstdio>#include <cstdlib>#include <cstring>#include <vector> using namespace std;#define N 1009struct POINT{ int x, y;}; int p[N];POINT a[N];vector<int> adj[N];bool good[N]; bool okdis(POINT& a, POINT& b, int d){ return (a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y) <= d * d ? true: false;} int find(int x){return p[x] == x? x : p[x] = (find(p[x]));} int main(){ int n, d; // FILE* fp = fopen("in.txt", "r"); scanf( "%d %d", &n, &d); for (int i = 1; i <= n; i++) { scanf("%d %d", &a[i].x, &a[i].y); adj[i].clear(); p[i] = i; good[i] = 0; } for (int i = 1; i <= n; i++) for (int j = i + 1; j <= n; j++) { if (okdis(a[i], a[j], d)) adj[i].push_back(j), adj[j].push_back(i); } char op[3]; int jia, yi; while (scanf( "%s %d", op, &jia) == 2) { if (op[0] == 'O') { good[jia] = true; for (int i = 0; i < adj[jia].size(); i++) { if (good[adj[jia][i]] == false)continue; int y = find (adj[jia][i]); int x = find(jia); p[x] = y; } } else{ scanf( "%d", &yi); int x = find(jia), y = find(yi); if (x == y)puts("SUCCESS"); else puts("FAIL"); } } // getchar(); return 0;}
- POJ 2236 Wireless Network(并查集)
- POJ 2236 Wireless Network //并查集
- POJ 2236 WIRELESS NETWORK(并查集)
- POJ-2236 wireless network 并查集
- poj 2236 Wireless Network(并查集)
- poj 2236 - Wireless Network(并查集)
- POJ 2236 Wireless Network(并查集)
- poj 2236 Wireless Network(并查集)
- poj 2236 Wireless Network(并查集)
- poj 2236 Wireless Network 并查集
- POJ 2236 Wireless Network 并查集
- poj 2236 Wireless Network 并查集
- poj 2236 Wireless Network 【并查集】
- POJ 2236 Wireless Network (并查集)
- POJ 2236 Wireless Network(并查集)
- poj 2236 Wireless Network 并查集
- POJ 2236--Wireless Network【并查集】
- poj 2236 Wireless Network 并查集
- Poco::DataTime
- hdu 4355 Party All the Time
- 实战体会Java多线程编程的精髓
- ICTCLAS 中科院分词系统 代码 注释 中文分词 词性标注
- 数据结构(C++版) 栈的链接存储结构及实现
- POJ 2236 Wireless Network(并查集)
- 马的走法
- 【DP(背包)】 hdu2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
- Rhel5 oracle 11gr2 rac 环境 的安装
- 外观模式(Facade)
- Adobe reader update 无法将数值disableexceptionchainvaliddation写入键/sofeware...请验证您对该有足够
- HDU 4350 - Card
- 理解REDO LOG(1) 介质恢复和实例恢复的基本概念
- 经典Java线程池的代码及各部分功能简介