hdu5500
来源:互联网 发布:淘宝货到付款是现金么 编辑:程序博客网 时间:2024/06/07 10:33
参考链接:官方题解
这道题,不知道为什么,凭直觉写出来后ac,(好神奇)后来看题解才明白证明:首先每个数如果挪的话最多挪一次,其次必须先挪大的再挪小的,最后如果一个数上面有比它的的数,则它一定要挪,否则,不必挪。所以找书的每种放置状态下,需要挪的最大的那个编号的数就可以了。
已ac的代码:
#include<stdio.h>#include<string.h>#include<iostream>using namespace std;#define N 25int order[N];int place[N];int n;int dfs(){ for(int i=n-1;i>=1;i--){ if(place[i]>place[i+1]){ for(int j=place[i]-1;j>=1;j--){ order[j+1]=order[j]; } order[1]=i; for(int i=1;i<=n;i++){ place[order[i]]=i; } return dfs()+1; } } return 0;}int main(){ int t; scanf("%d",&t); while(t--){ scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d",&order[i]); place[order[i]]=i; } printf("%d\n",dfs()); } return 0;}
0 0
- hdu5500
- hdu5500--Reorder the Books
- hdu5500 Reorder the Books
- hdu5500 Reorder the Books
- hdu5500 Reorder the Books 贪心
- hdu5500 Reorder the Books (枚举+模拟)
- HDU5500 Reorder the Books(脑洞?)
- BestCoder Round #59 (div.2) HDU5500 Reorder the Books
- hdu1097 A hard puzzle hdu5500 Reorder the Books
- java网络---实现多线程下载文件
- [转]测试淘宝站内的搜索系统
- ViewPager实现循环滑动实现方法+定时自动滑动实现方法详解
- unix学习笔记------消息队列---发送消息
- 电脑启动后出现checking file system on c:
- hdu5500
- Huffman 编码 + 优先队列【算法+数据作业题】
- VIM配置Python环境
- float与double的精度值在编程中以及openGL超级宝典(第四版)及代码的错误之处#define M3D_INV_PI_DIV_180 (57.2957795130823229)
- web分页技术
- iOS开发网络请求
- Acronis backup & recovery
- 一步一步写简易版飞鸽传书(四)
- 第一个iOS应用程序开发