[BZOJ4072][Wf2014]baggage
来源:互联网 发布:伊斯兰 知乎 编辑:程序博客网 时间:2024/05/17 03:38
题意
给定一排长度为4n的格子,编号从-2n+1到2n
每个编号为正的格子中有一个物品,其中每个编号为奇数的格子中有一个B类物品,编号为偶数的格子中有一个A类物品,你只能进行一种操作:选择某两个相邻的格子,要求这两个格子中都有物品,然后移动到另外两个相邻的空格子中,不能改变两个格子的相对位置,要求进行最少的操作使得所有物品以AAA…ABBB…B(n个A和n个B)的形式排列在一起
输出一种可行方案
可以先构造出n=4~7的方案
因为存在方案使__BABA(BABA……BA)BABA
可以变成AAAA__(BABA……BA)BBBB
递归输出括号中的序列的方案。
#include <cstdio>#define pt(x,y) printf("%d to %d\n",x,y)int n;void solve(int l,int r){ if(r-l+1==6){pt(2,-1);pt(5,2);pt(3,-3);return;} if(r-l+1==8){pt(l+5,l-2);pt(l+2,l+5);pt(l-1,l+2);pt(l+6,l-1);return;} if(r-l+1==10){pt(l+7,l-2);pt(l+2,l+7);pt(l+5,l+2);pt(l-1,l+5);pt(l+8,l-1);return;} if(r-l+1==12){pt(l+9,l-2);pt(l+6,l+9);pt(l+1,l+6);pt(l+5,l+1);pt(l-1,l+5);pt(l+10,l-1);return;} if(r-l+1==14){pt(l+7,l-2);pt(l+4,l+7);pt(l+11,l+4);pt(l+2,l+11);pt(l+8,l+2);pt(l-1,l+8);pt(l+12,l-1);return;} pt(r-2,l-2);pt(l+2,r-2);solve(l+4,r-4);pt(l-1,r-5);pt(r-1,l-1);}int main(){ #ifndef ONLINE_JUDGE freopen("1.out","w",stdout); #endif return scanf("%d",&n),solve(1,n<<1),0;}
0 0
- [BZOJ4072][Wf2014]baggage
- UVa12696 - Cabin Baggage(水题)
- UVa 12696 - Cabin Baggage
- BZOJ 4079 [Wf2014] Pachinko
- bzoj4082 [Wf2014]Surveillance 倍增
- SGU 363 Baggage room 模拟排队
- [bzoj 4080] Wf2014 Sensor Network
- bzoj4080 Wf2014 Sensor Network 随机化
- bzoj 4082: [Wf2014]Surveillance 倍增
- BZOJ 4082 Wf2014 Surveillance 树上倍增
- BZOJ 4080 Wf2014 Sensor Network 随机化
- BZOJ 4073 Wf2014 Buffed Buffet 斜率优化
- BZOJ 4080 [Wf2014]Sensor Network 随机化
- [Hash] BZOJ 4076 [Wf2014]Maze Reduction
- bzoj 4080: [Wf2014]Sensor Network 随机化
- BZOJ 4077 Wf2014 Messenger 二分答案+计算几何
- bzoj 4078 [Wf2014]Metal Processing Plant 2SAT 二分图
- BZOJ 4080: [Wf2014]Sensor Network 随机化求最大团
- mysql数据库的初始化及相关配置
- 基础语法
- 分类决策树原理及实现(一)
- 《日落苍狼》读后感及摘录
- Linux 系统命令及其使用
- [BZOJ4072][Wf2014]baggage
- 8.2.2
- Android图片缓存分析与优化
- [HDU3622]Bomb Game(2-SAT)
- 陈省身文集51——闭黎曼流形高斯-博内公式的一个简单的内蕴证明
- Apache启动命令
- FFmpeg Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 23518,一个空格引发的血案
- eclipse中安装插件的四种方式
- 手机震动工具类