贪心算法训练(九)——Best Cow Line(字典序最小问题)
原题链接:Best Cow Line
1. 问题描述

2. 输入
6
A
C
D
B
C
B
3. 输出
ABCBCD
4.思路分析
不断地取原字符串 S 中开头和末尾比较小的字符串放到 T 的末尾
特殊情况:S 的开头和末尾一样,先放开头的还是结尾的字母。解决办法:将 S 反序排列得到 $S^{'}$ ,与 S 比较,哪个小,就放哪个
5. 代码
#include <iostream>
#include<cstring> using namespace std; int n,i,j;
char s[2002],temp[2002],t[2002]; int main()
{
cin>>n;
for(i=0;i<n;i++)
{
cin>>s[i];
temp[n-i-1]=s[i];
}
for(i=0;i<n;i++)
{
if(strcmp(s,temp)<0)
{
t[i]=s[0];
for(j=0;j<n-i-1;j++)
s[j]=s[j+1];
}
else
{
t[i]=temp[0];
for(j=0;j<n-i-1;j++)
temp[j]=temp[j+1];
}
cout<<t[i];
if((i+1)%80==0)
cout<<endl;
}
return 0;
}
转化成数字数组处理
#include <iostream>
#include <cstring> using namespace std; int n;
char word[2002],t[2002];
int num[2002],temp[2002],c[2002]; int main()
{
ios::sync_with_stdio(false);
int i = 0,j = 0;
cin>>n;
for(i = 0; i < n; i++)
{
cin>>word[i];
num[i] = word[i] - '0' - 16;
temp[n-i-1] = num[i];
}
for(i = 0; i < n; i++)
{
if(memcmp(num,temp,sizeof(num) <= sizeof(temp) ? sizeof(num)/sizeof(int):sizeof(temp)/sizeof(int)) < 0)
{
t[i] = num[0] + 16 + '0';
for(j = 0;j < n-1-i;j++)
num[j] = num[j+1];
}
else
{
t[i] = temp[0] + 16 + '0';
for(j = 0;j < n-1-i;j++)
temp[j] = temp[j+1];
}
cout<<t[i];
if((i+1)%80 == 0)
cout<<endl;
}
return 0;
}
贪心算法训练(九)——Best Cow Line(字典序最小问题)的更多相关文章
- POJ 3617 Best Cow Line 字典序最小
#include<cstdio> #include<iostream> #include<algorithm> #include<queue> #inc ...
- 贪心算法训练(四)——(HDU1050)Moving Tables
题目描述 在一个狭窄的走廊里将桌子从一个房间移动到另一个房间,走廊的宽度只能允许一个桌子通过.给出 t,表示有 t 组测试数据,再给出 n,表示要移动 n 个桌子.n 下面有 n 行,每行两个数字,表 ...
- POJ 3617:Best Cow Line(贪心,字典序)
Best Cow Line Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 30684 Accepted: 8185 De ...
- POJ 3617 Best Cow Line (字典序最小问题 & 贪心)
原题链接:http://poj.org/problem?id=3617 问题梗概:给定长度为 的字符串 , 要构造一个长度为 的字符串 .起初, 是一个空串,随后反复进行下列任意操作. 从 的头部删除 ...
- poj 3617 Best Cow Line (字符串反转贪心算法)
Best Cow Line Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9284 Accepted: 2826 Des ...
- BZOJ 1640 [Usaco2007 Nov]Best Cow Line 队列变换:贪心【字典序最小】
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1640 题意: 给你一个长度为n的字符串. 你可以将原串的首字母或尾字母移动到新串的末尾. ...
- POJ 3617 Best Cow Line 贪心算法
Best Cow Line Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 26670 Accepted: 7226 De ...
- 编程算法 - 最好牛线(Best Cow Line) 代码(C)
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u012515223/article/details/37909933 最好牛线(Best Cow L ...
- poj3617 best cow line(贪心题)
Best Cow Line Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 32687 Accepted: 8660 De ...
随机推荐
- 【.Net Core】编译时禁止自动生成netcoreapp文件夹
原文:[.Net Core]编译时禁止自动生成netcoreapp文件夹 每次在编译生成文件时,VS都会自动在<OutputPath>属性指定的路劲后再追加一个用NetCore命名的文件夹 ...
- ESP8266 智能家居简单实现
本文转自CSDN,地址 https://blog.csdn.net/jsagacity/article/details/78531819 全文如下 : 前段时间,公司利用 ESP8266 这个WiFi ...
- 记一次在 Get 请求参数为 Null 值的折腾
先说主要原因,是因为一个 NgZerro 的 Select 组件,需要显示 placeHolder 文字,初始值为 null,然后直接绑定到查询参数中,传输到后端导致 BadRequest,参数解析失 ...
- C# vb .net实现HSL调整特效滤镜
在.net中,如何简单快捷地实现Photoshop滤镜组中的HSL调整呢?答案是调用SharpImage!专业图像特效滤镜和合成类库.下面开始演示关键代码,您也可以在文末下载全部源码: 设置授权 第一 ...
- iOS - 动态库上架瘦身(去调虚拟机架构),不然验证会报错。
eg: localhost:改造 M.emor.Y$ lipo WebRTC.framework/WebRTC -thin armv7 -output WebRTC_armv7localhost:改造 ...
- 各种GAN的学习和总结
GAN: https://www.cnblogs.com/kk17/p/10046884.html WGAN: https://www.cnblogs.com/Allen-rg/p/10305125. ...
- Android数据存储原理分析
Android上常见的数据存储方式为: SharedPreferences是 Android 中比较常用的存储方法,本篇将从源码角度带大家分析一下Android中常用的轻量级数据存储工具SharedP ...
- 【iOS录音与播放】实现利用音频队列,通过缓存进行对声音的采集与播放
都说iOS最恶心的部分是流媒体,其中恶心的恶心之处更在即时语音. 所以我们先不谈即时语音,研究一下,iOS中声音采集与播放的实现. 要在iOS设备上实现录音和播放功能,苹果提供了简单的做法,那就是利用 ...
- ClickHouse学习笔记
1. 概述 ClickHouse是一个用于联机分析(OLAP:Online Analytical Processing)的列式数据库管理系统(DBMS:Database Management Syst ...
- 日志管理与ftp。samba,nfs
1.描述rsyslog日志服务,并提供带web展示的日志服务器 rsyslog日志服务简介 日志的概念好理解,日志作用可用于排障和追溯审计的等 1.rsyslog是一个C/S架构的服务,可监听 ...