P10467 Hash
《算法竞赛进阶指南》,章节 0x14,第 58 页。
有 \(n\) 个圆环,环上都标着 \(6\) 个数,可以顺时针或逆时针旋转圆环,求任意旋转后有没有可能出现 \(6\) 个数顺序、数值均相同的圆环。
首先一眼哈希。
其次要注意的是,数值不能随意移动,只能顺时针或逆时针旋转。
开一个 map 储存圆环哈希值,然后输入 \(6\) 个数 \(a_0 \sim a_5\) 后,先判断顺时针和逆时针移位后哈希值有没有在 map 中出现过。
具体实现参考 代码。
《算法竞赛进阶指南》,章节 0x14,第 58 页。
有 \(n\) 个圆环,环上都标着 \(6\) 个数,可以顺时针或逆时针旋转圆环,求任意旋转后有没有可能出现 \(6\) 个数顺序、数值均相同的圆环。
首先一眼哈希。
其次要注意的是,数值不能随意移动,只能顺时针或逆时针旋转。
开一个 map 储存圆环哈希值,然后输入 \(6\) 个数 \(a_0 \sim a_5\) 后,先判断顺时针和逆时针移位后哈希值有没有在 map 中出现过。
具体实现参考 代码。