UVA
来源:互联网 发布:mac手势 切换 编辑:程序博客网 时间:2024/06/14 10:55
就是按照一定规则 由当前序列还原为 1-n 的原数列,,,但是 题目是问 由 原数列到当前序列要经过哪些步骤,,,, 只有 1 2 两种操作
没想到这题过的挺轻松,,,紫书第八章 高效算法 , 本以为这题会卡时间卡掉呢
#include<iostream>#include<cstdio>#include<vector>using namespace std;const int maxn = 1000;int a[maxn], n;vector<int> ans;bool is_ok(int *a, int m) { for(int i = 1; i < m; ++i) { if(a[i] < a[i-1]) return false; } return true;}void solve() { ans.clear(); while(1) { if(is_ok(a, n)) break; // 判断是否可以了 是否要操作1 if(a[0] != n && a[0] > a[1]) { ans.push_back(1); swap(a[0], a[1]); } if(is_ok(a, n)) break; // 判断是否可以了 是否要操作1 ans.push_back(2); int t = a[n-1]; for(int i = n-1; i > 0; --i) a[i] = a[i-1]; a[0] = t; } for(int i = (ans.size() - 1); i >= 0; --i) // 很好用的一点 vector 可以下标访问 printf("%d", ans[i]); printf("\n");}int main() { while(scanf("%d", &n) == 1 && n) { for(int i = 0; i < n; ++i) scanf("%d", &a[i]); solve(); } return 0;}
1 0
- uva
- UVA
- UVA
- UVA
- uva
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- SpringMVC的Handler通过继承AbstractController实现
- spring9
- 问题解决笔记 -- 在 Ubuntu 16 上使用 Nginx 部署 Flask 应用
- javascript用for循环制作一个V
- Java初学者该怎么学习Java呢?
- UVA
- 如何在 Vim 中进行文本选择操作和使用标志
- 在jsp中按钮实现界面跳转的功能
- 欢迎使用CSDN-markdown编辑器
- ViewPager防止Fragment销毁以及取消Fragment的预加载
- Ubuntu 从15.10升级到16.04
- 《Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition》笔记
- javaweb学习笔记(五)-Servlet初识
- 数组与变量——java查缺补漏