題目鏈結
本題的資料範圍顯然不能把所有陣列乙個乙個對比,可以建立乙個雜湊表,不同的h[x]代表不同的雜湊值,雜湊值衝突的陣列就存在同乙個h[x]開頭的煉表裡,然後根據雜湊值來對比對應的字串,減少重複比較。
const int maxn = 1e5+10;
int a[10], snow[maxn][6], h[maxn], nxt[maxn], tot;
int h()
return (sum+mul)%mod;
}bool check(int *b)
if (ok1 || ok2) return true;
}return false;
}bool insert()
int main()
printf("%s\n", ok ? "twin snowflakes found.":"no two snowflakes are alike.");
return 0;
}
AcWing 137 雪花雪花雪花
題目描述 有n片雪花,每片雪花由六個角組成,每個角都有長度。第i片雪花六個角的長度從某個角開始順時針依次記為ai,1,ai,2,ai,6。因為雪花的形狀是封閉的環形,所以從任何乙個角開始順時針或逆時針往後記錄長度,得到的六元組都代表形狀相同的雪花。例如ai,1,ai,2,ai,6和ai,2,ai,3...
Acwing 137 雪花雪花雪花
有n片雪花,每片雪花由六個角組成,每個角都有長度。第i片雪花六個角的長度從某個角開始順時針依次記為ai,1,ai,2,ai,6ai,1,ai,2,ai,6。因為雪花的形狀是封閉的環形,所以從任何乙個角開始順時針或逆時針往後記錄長度,得到的六元組都代表形狀相同的雪花。例如ai,1,ai,2,ai,6a...
演算法高階指南 Acwing 137 雪花雪花雪花
有n片雪花,每片雪花由六個角組成,每個角都有長度。第i片雪花六個角的長度從某個角開始順時針依次記為ai,1,ai,2,ai,6。因為雪花的形狀是封閉的環形,所以從任何乙個角開始順時針或逆時針往後記錄長度,得到的六元組都代表形狀相同的雪花。例如ai,1,ai,2,ai,6和ai,2,ai,3,ai,6...