博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj 3617 best cow line
阅读量:4571 次
发布时间:2019-06-08

本文共 883 字,大约阅读时间需要 2 分钟。

题目大意: 已知一个字符串,每次操作都可以拿走最前面或最后面的字符加入到新的字符串里,输出字典序最小的新字符串 思路: 就是一个字符串,看前后哪一种方案小,一个while两个if搞定(判断相同情况后的不同),然后按照较小方案输出。
#include
#include
#include
#include
#include
int n,l,r,k,t;char line[2020],ch;using namespace std;int main(){ scanf("%d",&n); for(int i=0;i
>ch;line[i]=ch;} r=n-1; while(l<=r) { if(t==80) {t=0;printf("\n");} if(line[l]>line[r]) {printf("%c",line[r]);r--;t++;} if(t==80) {t=0;printf("\n");} if(line[r]>line[l]) {printf("%c",line[l]);l++;t++;} if(t==80) {t=0;printf("\n");} if(line[r]==line[l]) { k=1; while(line[l+k]==line[r-k]) k++; if(line[l+k]>line[r-k]) {printf("%c",line[r]);r--;t++;continue;} if(line[r-k]>line[l+k]) {printf("%c",line[l]);l++;t++;} } }}
View Code

 

转载于:https://www.cnblogs.com/yyc-jack-0920/p/7111486.html

你可能感兴趣的文章
树状数组
查看>>
【2019.8.14 慈溪模拟赛 T1】我不是!我没有!别瞎说啊!(notme)(BFS+DP)
查看>>
多任务--进程 及 进程间通信
查看>>
多线程/多进程+QProgressBar实现进度条
查看>>
多任务(进程)案例----- 拷贝文件夹
查看>>
Kotlin的快速入门
查看>>
底层原理
查看>>
21. Merge Two Sorted Lists
查看>>
创建数组
查看>>
dict使用
查看>>
ASP.NET MVC的帮助类HtmlHelper和UrlHelper
查看>>
02_ListActive中响应事件 并LogCat输出
查看>>
doubleclick adx note
查看>>
Celery框架
查看>>
[c#]asp.net开发微信公众平台(4)关注事件、用户记录、回复文本消息
查看>>
[转载,感觉写的非常详细]DUBBO配置方式详解
查看>>
Android在Eclipse上的环境配置
查看>>
面向对象(五)
查看>>
android平台下使用点九PNG技术
查看>>
Python学习3,列表
查看>>