给定长度为N(1≤N≤2000)的字符串S,要构造一个长度为N的字符串T。期初,T是一个空串,随后反复进行下列任意操作。

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

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

目标是要构造字典序尽可能小的字符串

提示Input

· Line 1: 一个整数(integer): N
· Lines 2~+1: Line i+1 contains a single initial ('A'..'Z') of the string in the ith position in the original line

Output

输出时每行最多80个字符

Sample Input

6
A
C
D
B
C
B

Sample Output

ABCBCD

AC代码:

#include<iostream>
#include<cstdio>
using namespace std;
const int maxn=2005;
int main()
{
char str1[maxn],str2[maxn],w;
int n;
cin>>n;
scanf("%c",&w);
for(int i=0;i<n;i++)
scanf("%c%c",&str1[i],&w);
for(int i=0,j=n-1,k=0;k<n;k++)
{
if(str1[i]>str1[j]) str2[k]=str1[j],j--;
else if(str1[i]<str1[j]) str2[k]=str1[i],i++;
else //注意首尾相同时的做法
{
for(int m=1;;m++)
{
if(i+m>=j-m)
{
str2[k]=str1[i],i++;
break;
}
if(str1[i+m]<str1[j-m])
{
str2[k]=str1[i],i++;
break;
}
if(str1[i+m]>str1[j-m])
{
str2[k]=str1[j],j--;
break;
}
}
}
}
for(int i=0,k=0;i<n;i++,k++)
{
cout<<str2[i];
if(k==79) printf("\n"),k=-1;
}
return 0;
}

poi3617Best Cow Line ——贪心法的更多相关文章

  1. POJ 3617 Best Cow Line(最佳奶牛队伍)

    POJ 3617 Best Cow Line Time Limit: 1000MS Memory Limit: 65536K [Description] [题目描述] FJ is about to t ...

  2. Codeforces 401C Team 贪心法

    本题使用贪心法.关键是考贪心策略.同一时候要求要细心,我提交的时候也WA了几次.大意题目就是怎样依照给定的规则排列一个01字符串,引用原题例如以下: C. Team time limit per te ...

  3. 贪心法 codevs 1052 地鼠游戏

    1052 地鼠游戏  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解       题目描述 Description 王钢是一名学习成绩优异的学生,在平 ...

  4. POJ 3617 Best Cow Line (贪心)

    Best Cow Line   Time Limit: 1000MS      Memory Limit: 65536K Total Submissions: 16104    Accepted: 4 ...

  5. 【BZOJ】【3301】【USACO2011 Feb】Cow Line

    康托展开 裸的康托展开&逆康托展开 康托展开就是一种特殊的hash,且是可逆的…… 康托展开计算的是有多少种排列的字典序比这个小,所以编号应该+1:逆运算同理(-1). 序列->序号:( ...

  6. BZOJ3403: [Usaco2009 Open]Cow Line 直线上的牛

    3403: [Usaco2009 Open]Cow Line 直线上的牛 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 48  Solved: 41[S ...

  7. BZOJ3301: [USACO2011 Feb] Cow Line

    3301: [USACO2011 Feb] Cow Line Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 67  Solved: 39[Submit ...

  8. BZOJ1640: [Usaco2007 Nov]Best Cow Line 队列变换

    1640: [Usaco2007 Nov]Best Cow Line 队列变换 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 493  Solved: 2 ...

  9. BZOJ 3403: [Usaco2009 Open]Cow Line 直线上的牛( deque )

    直接用STL的的deque就好了... ---------------------------------------------------------------------- #include& ...

随机推荐

  1. 教你使用Python制作酷炫二维码

    这篇文章讲的是如何利用python制作狂拽酷炫吊炸天的二维码,非常有趣哦! 可能你见过的二维码大多长这样: 普普通通,平平凡凡,没什么特色... 但,如果二维码长这样呢! 或者 这样! 是不是炒鸡好看 ...

  2. P5444 [APIO2019]奇怪装置

    传送门 考虑求出最小的循环节 $G$ 使得 $t,t+G$ 得到的数对是一样的 由 $y \equiv t \mod B$ ,得到 $G$ 一定是 $B$ 的倍数,设 $zB=G$,则 $t,t+zB ...

  3. Python之路-Python中的模块与包

    一.模块简介 在实际开发中我们不可能不用到系统的标准模块,或第三方模块. 如果想实现与时间有关的功能,就需要调用系统的time模块.如果想实现与文件和文件夹有关的操作,就需要要用到os模块. 每一个 ...

  4. GB28181 To RTMP/HLS/HTTP-FLV/DASH Gateway

    I. Deployment  / Architecture Block Diagram II. Resources Used 1. freeswitch —— sip server https://f ...

  5. linux7 grub配置文件 linux6 grub配置文件

    在 grub 的 kernel 配置后面,添加 acpi_pad.disable=1 重启机器之后,开机就不会自动加载 acpi_pad 模块 一:linux6 [root@node2 ~]# cat ...

  6. 【LeetCode】按 tag 分类索引 (900题以下)

    链表:https://www.cnblogs.com/zhangwanying/p/9797184.html (共34题) 数组:https://www.cnblogs.com/zhangwanyin ...

  7. [sqlmap 源码阅读] heuristicCheckSqlInjection 探索式注入

    上面是探索式注入时大致调用过程,注入 PAYLOAD 1.)("'(.((.  , 数据库报错,通过报错信息获取网站数据库类型(kb.dbms),并将保存报错(lasterrorpage). ...

  8. Integer类的缓存机制

    一.Integer类的缓存机制 我们查看Integer的源码,就会发现里面有个静态内部类. public static Integer valueOf(int i) { assert IntegerC ...

  9. php连接access

    1.在控制面板中打开管理工具图标. 2.双击其中的数据源(ODBC)图标. 3.选择系统 DSN 选项卡. 4.点击系统 DSN 选项卡中的添加. 5.选择Microsoft Access Drive ...

  10. Cobaltstrike系列教程(三)-beacon详解

    0x000--前文 Cobaltstrike系列教程(一)-简介与安装 Cobaltstrike系列教程(二)-Listner与Payload生成 heatlevel 0x001-Beacon详解 1 ...