题意:给你一个字符串,让你重新排列,只能从头或者尾部取出一个放到新字符串队列的最后。按照字典序。

解决方法:比较前后两个的大小,谁小输出谁,相等,就往当中比来确定当前应该拿最前面的还是最后面的,如果再相等就继续...。

所以比较这个动作的单一功能,可以写成一个check函数,方便操作也方便递归。

#include<iostream>
#include<cstring>
using namespace std;
#define MAX 30005
char str[MAX];
int check(int i,int j)
{
if(str[i]<str[j]) return ;
else if(str[j]<str[i]) return ;
else {
if(i+==j||i==j) return ;
return check(i+,j-);
}
}
int main(void)
{
int n,i,j;
cin>>n;
for(i=;i<n;i++)
cin>>str[i];
int l=,r=n-;
i=;
while(l<=r){ if(check(l,r)==){
cout<<str[l++];
}
else {
cout<<str[r--];
}
i++;
if(i%==) puts("");
}
puts("");
return ;
}

POJ 3623 Best Cow Line, Gold(字符串处理)的更多相关文章

  1. poj 3623 Best Cow Line, Gold 后缀数组 + 贪心

    题目链接 题目描述 对于一个给定的字符串,可以从左右两端取字符,依次排列构成一个新的字符串. 求可能构成的字符串中字典序 最小的一个. 例:ACDBCB -> ABCBCD 思路 参考自 xue ...

  2. poj 3623 Best Cow Line, Gold

    题目不算难,但是不认真想的话很容易wa,我就是wa了多次才意识到自己想法存在的缺陷. 相同的时候往后找知道出现不相同时,只能判断出当前字符的优先顺序. 这个题目如果朴素的按照这种方法做的话复杂度其实是 ...

  3. HDU 3623 Best Cow Line, Gold(模拟,注意思路,简单)

    题目 POJ 3617 和 这道题题目一样,只是范围稍稍再小一点. //模拟试试 #include<stdio.h> #include<string.h> #include&l ...

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

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

  5. P2870 [USACO07DEC]最佳牛线,黄金Best Cow Line, Gold 解题报告

    P2870 [USACO07DEC]最佳牛线,黄金Best Cow Line, Gold 题意 给一个字符串,每次可以从两边中的一边取一个字符,要求取出的字符串字典序最小 可以Hash+二分 也可以S ...

  6. POJ 3617 Best Cow Line ||POJ 3069 Saruman's Army贪心

    带来两题贪心算法的题. 1.给定长度为N的字符串S,要构造一个长度为N的字符串T.起初,T是一个空串,随后反复进行下面两个操作:1.从S的头部删除一个字符,加到T的尾部.2.从S的尾部删除一个字符,加 ...

  7. P2870 [USACO07DEC]最佳牛线,黄金Best Cow Line, Gold

    P2870 [USACO07DEC]最佳牛线,黄金Best Cow Line, Gold我比赛的时候A了,luogu上25分,QAQ,又憨又傻的200+代码,我为什么要干电脑干的事情,无语了.如果左边 ...

  8. poj 3617 Best Cow Line (字符串反转贪心算法)

    Best Cow Line Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9284   Accepted: 2826 Des ...

  9. POJ 3617 Best Cow Line (贪心)

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

随机推荐

  1. Java+Python+Jython环境变量配置

    一.Java 环境变量配置: 新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.7.0变量名:CLASSP ...

  2. support.SerializationFailedException: Failed to deserialize payload.

    support.SerializationFailedException: Failed to deserialize payload. Is the byte array a result of c ...

  3. html 基本标签

    HTML 基本标签 Web 服务器工作原理 HTML 注释 HTML 基本标签 http://192.168.32.36:8080/scan/demo.html scan 表示你的应用资源目录 HTM ...

  4. 记录一下八款开源 Android 游戏引擎

    记录一下八款开源 Android 游戏引擎 虽然android学了点点,然后现在又没学了(我为啥这么没有恒心呢大哭).以后有时间还是要继续学android的,一定要啊!虽然现在没学android游戏编 ...

  5. cdoj 韩爷的情书 有向图 欧拉路径

    //欧拉回路 解法:首先判断欧拉回路存在性:1.连通 2.没有出度入度相差大于1的点 3.如果有出度入度相差等于1的点那么必须有两个,一个出度大于入度作为起点,一个入度大于出度作为终点. 在确定了起点 ...

  6. MVVMLight Toolkit在Windows Phone中的使用扩展之一:在ViewModel中实现导航,并传递参数

    MVVMLight是MVVM开发模式在Windows Phone平台下的一个开发框架,关于MVVMLight的基础使用,已经有人写的很好了,可以参照:MVVM.MVVMLight.MVVMLight ...

  7. 转 --maven系列之二 安装与配置

    http://blog.csdn.net/jiuqiyuliang/article/details/45390313 [项目管理和构建]——Maven下载.安装和配置(二) 标签: 工具开发maven ...

  8. TCP/IP的网际层协议——ICMP

    ICMP经常被认为是IP层的一个组成部分.它携带于IP数据包中,ICMP封装在IP数据包内部: IP首部 ICMP数据包 下面是一份差错报文的例子: 最右边的+或者-代表该报文是查询报文还是错误报文. ...

  9. php json_encode url链接出现双转义字符‘\\’和中文被编码的解决方法

    在PHP开发中 json_encode方法使用的频率还是蛮高的. 当数据中出现中文是,经过json_encode后,中文被编码了,不是显示的原中文字符. 可以通过urlencode编码后,在使用jso ...

  10. day6_python学习笔记_chapter8_条件,循环

    1. if elif else 2. 条件表达式:三元操作符: smaller = x if x < y else y   == if x < y : smaller =x  else : ...