POJ 3617

 

题意:给定长度为N的字符串S,现要构造一个字符串T(起初为空串)。任意进行一下的一种操作:

1>从S的头部删除一个字符,加到T的尾部

2>从S的尾部删除一个字符,加到T的尾部

目的使T的字典序最小。每80个字母一行

注意:当首尾俩个数相同时,我们应比较里面的俩个次首和次尾

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <cstdlib>
 4 #include <cctype>
 5 #include <cmath>
 6 #include <time.h>
 7 #include <string>
 8 #include <map>
 9 #include <stack>
10 #include <set>
11 #include <queue>
12 #include <vector>
13 #include <algorithm>
14 #include <iostream>
15 using namespace std;
16 typedef long long ll;
17 typedef pair<int,int> P;
18 #define PI acos( -1.0 )
19 const double E = 1e-8;
20 
21 const int NO = 2000 + 5;
22 char ch[NO];
23 int n;
24 
25 void Solve()
26 {
27     int x = 0, y = n - 1;
28     int t = 0;
29     while( x <= y )
30     {
31         bool flag = false;
32         for( int i = 0; i < n; ++i )
33             if( ch[x+i] > ch[y-i] ) {
34                 flag = false;
35                 break;
36             }
37             else if( ch[x+i] < ch[y-i] ) {
38                 flag = true;
39                 break;
40             }
41         ++t;
42         if( flag ) putchar( ch[x++] );
43         else putchar( ch[y--] );
44         if( t % 80 == 0 )
45             putchar( '\n' );
46     }
47     if( t % 80 )
48         puts( "" );
49 }
50 
51 int main()
52 {
53     scanf( "%d", &n );
54     for( int i = 0; i < n; ++i )
55     {
56         getchar();
57         ch[i] = getchar();
58     }
59     Solve();
60     return 0;
61 }
View Code

 

转载于:https://www.cnblogs.com/ADAN1024225605/p/4087902.html

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

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

相关文章

echarts的词云图表类型有哪些_数据可视化之常见12种图表类型分析

数据可视化有众多展现方式&#xff0c;不同的数据类型要选择适合的展现方法&#xff0c;今天友创云天就整理分析了几种常见的类型&#xff0c;给大家提供参考。1.饼图饼图是一个划分为几个扇形的圆形统计图表。每个扇形的弧长&#xff08;以及圆心角和面积&#xff09;大小&…

使用Spring Boot和注释支持配置Spring JMS应用程序

1.简介 在以前的文章中&#xff0c;我们学习了如何使用Spring JMS配置项目。 如果查看有关使用Spring JMS进行消息传递的文章介绍 &#xff0c;您会注意到它是使用XML配置的。 本文将利用Spring 4.1版本中引入的改进 &#xff0c;并仅使用Java config来配置JMS项目。 在这个示…

两个饥肠咕咕的人

http://www.amznz.com/43/ Long long ago&#xff0c;有两个饥肠咕咕的人得到了一位长者的恩赐&#xff1a;一根鱼竿和一篓鲜活硕大的鱼。其中&#xff0c;一个人要了一篓鱼&#xff0c;另一个人要了一根鱼竿&#xff0c;于是他们分道扬镳了。得到鱼的人原地就用干柴搭起篝火煮…

室内主题元素分析图_2020届室内设计专业优秀毕业设计作品展(五)

“环”食疗养生空间概念设计△建筑外立面▲LOGO前 言每当人们提及健康时&#xff0c;人们的反应往往是运动、睡眠和饮食。现代的青年上班族&#xff0c;又因为快节奏的生活&#xff0c;工作压力大&#xff0c;饮食的不规律&#xff0c;生活不良习性的增加&#xff0c;导致了各…

编写下载服务器。 第一部分:始终流式传输,永远不要完全保留在内存中

下载各种文件&#xff08;文本或二进制文件&#xff09;是每个企业应用程序的生死攸关的事情。 PDF文档&#xff0c;附件&#xff0c;媒体&#xff0c;可执行文件&#xff0c;CSV&#xff0c;超大文件等。几乎每个应用程序迟早都必须提供某种形式的下载。 下载是通过HTTP来实现…

C++输入cin详解

C输入cin详解 输入原理&#xff1a; 程序的输入都建有一个缓冲区&#xff0c;即输入缓冲区。一次输入过程是这样的&#xff0c;当一次键盘输入结束时会将输入的数据存入输入缓冲区&#xff0c;而cin函数直接从输入缓冲区中取数据。正因为cin函数是直接从缓冲区取数据的&#xf…

时间序列的截尾和拖尾_R语言:时间序列(一)

01 解决什么问题在社会活动中经常可见按照时间顺序记录下来的随机事件观察值&#xff0c;例如每年死亡人数序列&#xff0c;每年糖尿病发病人数序列&#xff0c;医院门诊每日诊治病例数序列。这类数据的特性是相邻时间点的观察值之间具有明显的相关性&#xff0c;这一特性不同于…

ulimit小结

1. limits是一个进程的资源&#xff0c;会被子进程继承2. soft limit -S, hard limits -Hhard limits只能被root用户修改&#xff0c;启动的时候会加载配置/etc/security/limits.confsoft limits可以被任何用户修改&#xff0c;但不能超过hard limits3. 在linux下&#xff0c;每…

JVM崩溃时:如何调查最严重错误的根本原因

当应用程序崩溃时&#xff0c;您可以学到什么&#xff1f; 我认为&#xff0c;“后见之明是20 /”是最喜欢的短语之一托马斯罗梅尔 &#xff0c;工程ZeroTurnaround的副总裁。 好吧&#xff0c;我实际上不确定在他的短语中占什么位置&#xff0c;但是我已经听过他几次说了。 鉴…

常用个人密码管理软件

http://www.williamlong.info/archives/3100.html转载于:https://www.cnblogs.com/svennee/p/4099358.html

查看网口命令_20个常用Linux命令

今天总结几个非常常用的Linux命令,其中有几个在面试中很可能问相关命令的原理,比如后台运行命令。希望对大家有所帮助,最好自己去尝试在Linux操作系统中实践一下。 1、查看目录以及权限 在windows中,使用dir查看当前目录中文件。在Linux中使用ls(list)查看当前目录文件。 w…

爱摘苹果的小明

描述小明家的院子里有一棵苹果树&#xff0c;每到秋天树上就会结出10个苹果。苹果成熟的时候&#xff0c;小明就会跑去摘苹果。小明有个30厘米高的板凳&#xff0c;当她不能直接用手摘到苹果的时候&#xff0c;就会踩到板凳上再试试。现在已知10个苹果到地面的高度&#xff0c;…

中统计字符串长度的函数_SQL Server中的字符串分割函数

您是否知道从SQL Server 2016开始&#xff0c;系统就内置STRING_SPLIT函数&#xff0c;该函数用于将字符串分隔的变量拆分为一个可用列表。 对于经常需要分割字符串的技术人员&#xff0c;建议您查看此功能。 STRING_SPLIT是一个表值函数&#xff0c;它返回由定界符分隔的字符串…

JBoss BPM Suite快速指南–将外部数据模型导入BPM项目

您正在从事一个大型项目&#xff0c;在企业中开发规则&#xff0c;事件和流程以满足关键业务需求。 部分要求指出&#xff0c;某个业务部门将提供您的数据模型供您利用。 不会在JBoss BPM Suite数据建模器中设计此数据模型&#xff0c;但是在从业务中心仪表板处理规则&#x…

Android项目笔记【项目管理统计图app】:使用github上的cardslib开源项目实现CardView(1)...

因为项目中用到第三级菜单&#xff0c;我们原有的界面框架已经不适用于该项目&#xff0c;Android L出了新的cardview设计&#xff0c;爬了下github发现有些高手已经把card整合为更方便调用的类库了&#xff0c;我这个项目就准备试用一下其中的一个开源项目cardslib &…

卸载 流程_一款适合于windows端的卸载神器 彻底清理残留软件

今天给大家介绍的是一款适合于Windows端的软件卸载神器---Uninstall&#xff0c;可以彻底清理残留软件。它的卸载流程是这样的&#xff0c;首先会使用软件本身的默认卸载程序进行卸载&#xff0c;卸载完成后再次扫描软件残留的一些残余文件及注册表之类的&#xff0c;可以完美的…

key value vue 输出_vue注意事项总结(一)

1.只有当vue实例被创建时data中存在的属性才是响应式的&#xff1a;如果你知道你会在晚些时候需要一个属性&#xff0c;但是一开始它为空或不存在&#xff0c;那么你仅需要设置一些初始值。2.不要在选项属性或回调上使用箭头函数&#xff1a;比如&#xff1a;created: () > …

netif_start_queue/netif_wake_queue/netif_stop_queue

在网卡驱动中&#xff0c;内核为发送数据包的流量控制提供了几个主要的函数&#xff0c;用来在驱动程序和内核之间传递流控信息。 主要有4个&#xff1a; 1】netif_start_queue 启动接口传输队列 2】netif_wake_queue 通知网络系统可以再次开始传输数据包&#xff1b;并启动接…

编写下载服务器。 第四部分:有效地实现HEAD操作

HEAD是一个经常被遗忘的HTTP方法&#xff08;动词&#xff09;&#xff0c;其行为类似于GET&#xff0c;但不会返回正文。 您使用HEAD来检查资源的存在&#xff08;如果不存在&#xff0c;它应该返回404&#xff09;&#xff0c;并确保您的缓存中没有陈旧的版本。 在这种情况下…

【grunt整合版】30分钟学会使用grunt打包前端代码

http://www.itnose.net/detail/6009394.html转载于:https://www.cnblogs.com/zifeiyu/p/4106585.html