Farmer John 有 N 头奶牛,他们想组建一个紧急的“传递信息”系统,以便相互之间传递重要的信息。 他们决定使用对讲机来作为装备,而不是通过相互间的哞哞叫,每头牛配有一只对讲机。这些对讲机都有自己的有限传输半径,如果有限传输半径是 P P P 的话,也就是说该对讲机能将信息传送到与之距离不超过 P P P 的对讲机(请注意,奶牛 A A A 可能把信息传递给奶牛 B B B,但奶牛 B B B 却可能没办法把信息传递回去,因为奶牛 A 的有限传输半径大于奶牛 B B B 的有限传输半径)。幸运的是,奶牛可以通过其他奶牛传递信息,所以没必要每头牛都能直接传送到其他牛。 由于对讲机的这种不对等的性质,其中的一些奶牛传播效果可能比其他奶牛更有效,因为它们能传递到更多的接收者(相互之间产生直接联系)。请帮助奶牛确定:如果源于一头牛,最多能将信息传递到多少头牛?
第 1 行输入奶牛的个数 N N N; 第 2 到 N + 1 N+1 N+1 行,第 i + 1 i+1 i+1 行代表第 i i i 头奶牛的 X i X_i Xi 和 Y i Y_i Yi坐标,以及其对应对讲机的最大传输半径 P i P_i Pi。
输出共一行一个整数,源于一头牛,最多能将信息传递到多少头牛?原始的这头牛也包含在内。
因为需要不跑重复点,且要统计到达点的个数用 b i t s e t bitset bitset就可以快速实现 bitset用法(fromArvid Y):bitset详解c++ 对比一下用bitset和不用bitset的
bitsetbools.reset()memset(boo,0,sizeof(boo)搜索搜索if(ans<s.count())for(int i=1;i<=N;i++)x+=boo[i];ans=s.conut()ans=max(ans,x);