BZOJ

您所在的位置:网站首页 跳跳棋的秘诀 BZOJ

BZOJ

2024-07-05 17:15| 来源: 网络整理| 查看: 265

题目描述

  跳跳棋是在一条数轴上进行的。棋子只能摆在整点上。每个点不能摆超过一个棋子。我们用跳跳棋来做一个简单的游戏:棋盘上有 \(3\) 颗棋子,分别在 \(a,b,c\) 这三个位置。我们要通过最少的跳动把他们的位置移动成 \(x,y,z\)(棋子是没有区别的)。跳动的规则很简单,任意选一颗棋子,以中间的棋子为对称轴跳动。跳动后两颗棋子距离不变。一次只允许跳过 \(1\) 颗棋子。

分析

  用三元组 \((a,b,c)\) 表示初始三个棋子的位置(其中 \(aa[1]>>a[2]>>a[3]; sort(a+1,a+4); A.a=a[1],A.b=a[2],A.c=a[3]; cin>>b[1]>>b[2]>>b[3]; sort(b+1,+b+4); B.a=b[1],B.b=b[2],B.c=b[3]; rootA=get(A,INF); int cnt1=step; rootB=get(B,INF); int cnt2=step; if(check(rootA,rootB)==false) { puts("NO"); return 0; } if(cnt1



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3