做
SP4354 TWINSNOW - Snowflakes 时用了一个简单的hash+链表判重。
在 哈希的insert 函数上:我是这样写的:
int insert(int p[]){
int v=Hash(p);
for(int i=head[v];i;i=nxt[i]){
if(same(snow[i],p)) return 1;
}tot++;
memcpy(snow[tot],p,sizeof p);
nxt[tot]=head[v];head[v]=tot;
return 0;
}
注意那一行,sizeof p就是疯狂WA,但是改成邻接表就是稳过,后来脑子一抽改成sizeof snow[tot],结果就对了?这是什么原因,猜和我函数传参没写数组元素个数有关?