【HDOJ】2428 Stars

先排序后二分。

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std; #define MAXN 1005 typedef struct {
int x, y;
} node_st; node_st nodes[MAXN];
int n; bool comp(node_st a, node_st b) {
if (a.x == b.x)
return a.y < b.y;
else
return a.x < b.x;
} bool find(int x, int y) {
int l=, r=n-, mid; while (l <= r) {
mid = (l+r)>>;
if (nodes[mid].x==x && nodes[mid].y==y)
return true;
if (nodes[mid].x > x)
r = mid - ;
else if (nodes[mid].x < x)
l = mid + ;
else if (nodes[mid].y > y)
r = mid - ;
else
l = mid + ;
}
return false;
} int main() {
int t, ans;
int i, j; scanf("%d", &t);
while (t--) {
scanf("%d", &n);
for (i=; i<n; ++i)
scanf("%d%d", &nodes[i].x, &nodes[i].y);
sort(nodes, nodes+n, comp);
for (ans=,i=; i<n; ++i) {
for (j=i+; j<n; ++j) {
if ((nodes[i].x-nodes[j].x)==(nodes[i].y-nodes[j].y) && find(nodes[i].x, nodes[j].y) && find(nodes[j].x, nodes[i].y))
++ans;
}
}
printf("%d\n", ans);
} return ;
}
上一篇:【转】MSM搭建(Memcached_Session_Manager)--解决集群session共享


下一篇:字串符相关 split() 字串符分隔 substring() 提取字符串 substr()提取指定数目的字符 parseInt() 函数可解析一个字符串,并返回一个整数。