UVa11925 Generating Premutations

留坑(p.254)

 

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<cstdlib>
 4 #include<algorithm>
 5 #include<iostream>
 6 
 7 using namespace std;
 8 
 9 void setIO(const string& s) {
10     freopen((s + ".in").c_str(), "r", stdin);
11     freopen((s + ".out").c_str(), "w", stdout);
12 }
13 template<typename Q> Q read(Q& x) {
14     static char c, f;
15     for(f = 0; c = getchar(), !isdigit(c); ) if(c == '-') f = 1;
16     for(x = 0; isdigit(c); c = getchar()) x = x * 10 + c - '0';
17     if(f) x = -x;
18     return x;
19 }
20 template<typename Q> Q read() {
21     static Q x; read(x); return x;
22 }
23 
24 const int N = 300 + 10;
25 
26 #include<vector>
27 vector<int> a, b;
28 
29 //#define dprintf(s, arg...) fprintf(stderr, s, ##arg)
30 
31 void p1() {
32     swap(a[0], a[1]);
33     putchar('1');
34 //    dprintf("1:");
35 //    for(unsigned i = 0; i < a.size(); i++) {
36 //        dprintf("%d ", a[i]);
37 //    }
38 //    dprintf("\n");
39 }
40 
41 void p2() {
42     int t = a[0];
43     a.erase(a.begin());
44     a.push_back(t);
45     putchar('2');
46 //    dprintf("2:");
47 //    for(unsigned i = 0; i < a.size(); i++) {
48 //        dprintf("%d ", a[i]);
49 //    }
50 //    dprintf("\n");
51 }
52 
53 bool ok() {
54     for(unsigned i = 0; i < a.size(); i++) {
55         if(a[i] ^ b[i]) return 0;
56     }
57     return 1;
58 }
59 
60 int main() {
61 #ifdef DEBUG
62     freopen("in.txt", "r", stdin);
63     freopen("out.txt", "w", stdout);
64 #endif
65     
66     int n;
67     while(read(n)) {
68         a.clear(), b.clear();
69         for(int i = 1; i <= n; i++) {
70             a.push_back(i);
71             b.push_back(read<int>());
72         }
73         if(a[1] == b[0]) p1();
74         for(int i = 0; i < n; i++) {//½«µÚi¸öÒÆµ½×îºó 
75             while(a[0] != b[i]) p2();
76             if(ok()) break;
77             if(i != n-1) while(a[1] != b[i+1]) p1(), p2();
78             p2();
79         }
80         putchar('\n');
81 //        dprintf("\n");
82     }
83     
84     return 0;
85 }
View Code

 

转载于:https://www.cnblogs.com/showson/p/5097193.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/373866.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

xamarin UWP中MessageDialog与ContentDialog的区别

MessageDialog与ContentDialog的异同点解析&#xff1a; 相同点一&#xff1a;都是uwp应用上的一个弹窗控件。都能做为弹出应用。 相异点一&#xff1a;所在命名空间不同&#xff0c;MessageDialog在Windows.UI.Popups.MessageDialog下&#xff0c;而ContentDialog在Windows.UI…

python筛选大量数据_python(数据筛选)

在Python3中&#xff1a;(1)xrange的功能合并到range里面&#xff0c;xrange已经不存在 -> range和xrange用法(2)filter已经不能返回一个list&#xff0c;而是只能返回一个迭代对象&#xff0c;需要套在一个list()里面&#xff0c;且&#xff0c;需要注意的是&#xff0c;fi…

ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

不指定数据库可以正常连接&#xff1a; 指定数据库和使用PL/SQL Developer都出现错误&#xff1a; 在此说明一下我的环境&#xff1a;Oralce装的是64位的在使用PL/SQL Developer时曾出现过初始化错误&#xff0c;解决办法就是下载oracle 32位客户端并相应的配置。 解决方案一&a…

Devoxx 2011印象

Devoxx 2011结束了&#xff0c;它很棒。 最终&#xff0c;在不得不与妻子和孩子度过周末之后&#xff08;上个星期我很少见过&#xff09;&#xff0c;我找到了写下一些东西的时间。 对我来说&#xff0c;这是第六个Devoxx&#xff0c;我的第一个是2006年-那时我还是一个学生&a…

Ubuntu14.04.3,apt-get出现dpkg: error processing package xxx (--configure)和cups-daemon错误的解决方案...

Ubuntu14.04.3&#xff0c;使用apt-get安装软件的时候&#xff0c;报个莫名其妙的错误&#xff1a; dpkg: error processing package xxx (--configure): balabala...Errors were encountered while processing: cups-daemon cups-core-drivers cups E: Sub-process /usr/bin/d…

实验三 类的继承和多态性

实验三 类的继承和多态性 1.(1)编写一个接口ShapePara&#xff0c;要求&#xff1a; 接口中的方法&#xff1a; int getArea()&#xff1a;获得图形的面积。int getCircumference()&#xff1a;获得图形的周长 (2)编写一个圆类Circle&#xff0c;要求&#xff1a;圆类Circle实现…

ORA-01843:无效的月份

Oracle数据库默认情况下&#xff0c;会以DD-MON-YY的形式显示日期&#xff0c;其中DD是天数&#xff0c;MON是月份的前三个字母&#xff08;大写&#xff09;&#xff0c;而YY是年份的最后两位。数据库实际上会为年份存储4位数字&#xff0c;但是默认情况下只会显示最后两位。 …

贪心策略取得最优解的条件_什么是贪心算法?

一、什么是贪心算法贪心算法是指&#xff0c;在对问题求解时&#xff0c;总是做出在当前看来是最好的选择。(局部最优解&#xff0c;而不是整体最优解)贪心算法没有固定的算法框架&#xff0c;算法设计的关键是贪心策略的选择。必须注意的是&#xff0c;贪心算法不是对所有问题…

Devoxx第1天

参加Devoxx给我带来了足够的动力来发布我的第一篇博客文章。 我是第一次来这里&#xff0c;它的组织方式给我留下了深刻的印象。 目前有记录的最高发言人。 对我来说&#xff0c;选择演示文稿来参加是一个问题。 但是感谢组织者&#xff0c;所有活动都将在12月下旬在parleys.co…

Oracle 事务的开始与结束

事务是用来分割数据库活动的逻辑工作单元&#xff0c;事务即有起点&#xff0c;也有终点&#xff1b; 事物的处理就是保证数据操作的完整性&#xff0c;所有的操作要么成功要么同时失败。当下列事件之一发生时&#xff0c;事务就开始了&#xff1a;连接到数据库上&#xff0c;并…

http tcp联系区别

术语TCP/IP代表传输控制协议/网际协议&#xff0c;指的是一系列协议。“IP”代表网际协议&#xff0c;TCP和UDP使用该协议从一个网络传送数据包到另一个网络。把IP想像成一种高速公路&#xff0c;它允许其它协议在上面行驶并找到到其它电脑的出口。TCP和UDP是高速公路上的“卡车…

python控件随窗口变化而适配_Tkinter窗口/控件比例调整

我目前正在为一个编程类开发一个pythongui版本的Reversi。我已经对游戏逻辑进行了编程&#xff0c;目前我正在尝试使用Tkinter实现GUI。我有一些问题&#xff0c;调整游戏板(根窗口)和它的一切(画布和形状)成比例。这款游戏目前还不错&#xff0c;但我试图让棋盘正确调整大小的…

Java递归基础

对于那些不知道递归是什么的人&#xff08;并且像个笑声一样&#xff09;&#xff0c;请单击以下链接&#xff1a;Google搜索&#xff1a;递归&#xff0c;然后单击“您的意思是……”项。 希望您终于弄清楚了递归是指其自身的任何内容&#xff08;如果不是&#xff0c;那么您可…

我是最棒的,我一定会成功!

有人曾经做过这样一个实验&#xff1a;他往一个玻璃杯里放进一只跳蚤&#xff0c;发现跳蚤立即轻易地跳了出来。再重复几遍&#xff0c;结果还是一样。根据测试&#xff0c;跳蚤跳的高度一般可达它身体的400倍左右&#xff0c;所以说跳蚤可以称得上是动物界的跳高冠军。     …

头部ct能检查出什么_【安全用药】做CT检查时应注意什么?

点击蓝字 关注我们安安徽徽&#xff0c;你知道做CT检查时应注意什么&#xff1f;上腹部CT检查前患者至少禁食6小时、检查前15分钟喝温开水充盈胃部、CT检查时&#xff0c;患者会受到一定量X射线辐射&#xff0c;应避免过度扫描......本期安全用药&#xff0c;大家一起来了解了解…

JAXB,SAX,DOM性能

这篇文章探讨了使用多种不同方法将XML文档编组为Java对象的性能。 XML文档非常简单。 它包含一个Person实体的集合。 <?xml version"1.0" encoding"UTF-8" standalone"yes"?> <persons><person><id>person0</id>…

虚拟机Linux图形界面配置NAT-桥接

点开“虚拟机->设置->桥接模式&#xff08;勾选复制物理网络连接状态&#xff09;->确认” 点击“右上角扇形网络图标->Edit Connections->Wired->选中->Delete->Add->IPv4 Settings->Method(Manual)->Add->输入IP&#xff0c;子网掩码&am…

年轻人应该谨记的十点

有个朋友的孩子今年大学毕业&#xff0c;托我帮他找个“好工作”&#xff0c;而且再三强调&#xff0c;这关系到孩子的前途命运&#xff0c;要我一定要全力以赴。他&#xff0c;一个非名牌大学的计算机网络专业应届毕业生&#xff0c;没有工作经验&#xff0c;他能找一个什么样…

python自动化构建工具_Python自动化构建工具scons使用入门笔记

这段时间用到了scons&#xff0c;这里总结下&#xff0c;也方便我以后查阅。一、安装sconsLinux环境(以CentOS为例)1、yum安装yum install scons2、源码安装下载scons&#xff1a;http://http://jaist.dl.sourceforge.net/project/scons/scons/2.3.0/scons-2.3.0.zip安装scons&…

Java 8状态更新

即将到来的Java SE 8发行版的两大新语言功能是Lambda Expressions和Modularity。 对于这两者&#xff0c;这些天的状态更新已经发布。 我会与您共享链接&#xff0c;因此您可能会在假期中通读它们 Oracle计划在2013年中期发布Java SE 8。 Lambda项目 Lambda项目以及JSR-335希望…