[理工] 环状分类判断式打法

楼主: NTUgambler (二十世纪末的赌徒)   2018-04-16 12:45:05
今天有编号1~6的椅子环绕一圈
我要在上面摆3颗苹果
如果摆放1号2号3号
简记为{1,2,3}
今天我想把相似的摆法 分在同一群
意即{1,2,3}和{2,3,4}摆法相似 放置同一群
我的判断式该如何描写呢?
我的想法是{x1,x2,x3} {y1,y2,y3}
若|x2-x1|=|y2-y1|且|x3-x2|=|y3-y2| 则能分到同一群
但是好像就无法处理头尾相邻的部分
意即{1,2,3}和{1,2,6}其实是要同一群的
还有我{}的index都是由小排到大
请问我的判断式要怎么写呢?
作者: Azlar911 (Azlar)   2018-04-16 13:00:00
module取余数你的对应项相减是假设x1x2x3有顺序 可是在取排列状况的时候又由小到大 这样就要可能的排列都试过x1x2x3 和 y1y2y3 , y2y3y1 , y3y1y2都比一次且距离取余数
作者: outofyou   2018-04-17 01:54:00
取距离(x2-x1,x3-x2,d-x3+x1),再取维持环状顺序的距离最小优先的表示法,表示法相同则同一群。if has r, ((x1+r)%d,(x2+r)%d,(x3+r)%d) = (y1,y2,y3)

Links booklink

Contact Us: admin [ a t ] ucptt.com