您当前的位置: 首页 >  搜索

*DDL_GzmBlog

暂无认证

  • 5浏览

    0关注

    603博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

[luogu] 夜空繁星Starry Night 搜索+奥数

*DDL_GzmBlog 发布时间:2021-10-23 18:02:49 ,浏览量:5

前言

传送门 : 笑死了, c i n cin cin和自己写的貌似冲突爆炸了 debug半小时愣是看不出来什么

思路

这题 首先是找 连通块

然后就是判断连通块是否相等

对于一个图形是否相等 我们可以根据奥数

(如果一个图形中 每个点之间的距离之和 不同 那么这两个图形是不同的)

hash碰撞的概率很小

CODE
#include
using namespace std;
struct node
{
	int cnt;//星座的大小
	int x[210],y[210];//每一个点的坐标
	int zuji;//祖籍,记录是哪一种星座
	double s;//记录每一个点与别的点的距离总和
}f[510];//记录星座
int len,now;//len表示f的长度,now表示现在星座的数量
int n,m;
bool a[110][110];//这个点是否有天体
int bk[110][110];//bk记录这一个点属于哪一个f集合
inline int _(int x){return x*x;}
inline double find(int x1,int y1,int x2,int y2)//查找距离
{
	return sqrt(double(_(x1-x2)+_(y1-y2)));
}
inline int check(int k)
{
	int i,j;f[len].s=0.0;
	for(i=1;i            
关注
打赏
1657357249
查看更多评论
0.0497s