poj3617Best Cow Line

poj3617Best Cow Line

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

题意大概是这样,给你一个字符串,你能够进行的操作是这种,
每次拿走这个串的第一个字母,或者最后一个字母,然后放到
一个新串的末尾(当然啦,新串一開始是为空的),当把旧串
里的全部字母拿掉,这个时候就形成了一个字母以及长度都跟
旧串一样的新串。如今要求使这个新串的字典序最小。

我的做法是用贪心,每次比較旧串的第一个和末尾的字母,谁小
就放在第一个。遇到两个字母同样的时候,就比較第二个字母和
倒数第二个字母,以此类推。直到找到两个不同的字母为止,假设
前面的小就输出旧串第一个字母,否则就输出末尾字母。

假设都是同样的字母的话呢,随便输出哪个就好了。

我的代码例如以下:

 

#include<cstdio>
int num;
char cs[2010];
void init()
{
	char tmp[2];
	int i;
	scanf("%d",&num);
	for(i=0;i<num;i++)
	{
		scanf("%s",tmp);
		cs[i]=tmp[0];
	}
}
void result()
{
	bool flag=1;
	int sum,l,r,i;
	l=sum=0;
	r=num-1;
	while(l<=r)
	{
		for(i=0;l+i<r-i;i++)
			if(cs[l+i]<cs[r-i])
			{
				flag=1;
				break;
			}
			else if(cs[l+i]>cs[r-i])
			{
				flag=0;
				break;
			}
		if(flag)
		{
			putchar(cs[l]);
			l++;
		}
		else
		{
			putchar(cs[r]);
			r--;
		}
		sum++;
		if(sum%80==0)
			printf("\n");
	}
}
int main()
{
	init();
	result();
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118322.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 影像传感器尺寸换算(英寸-毫米)

    影像传感器尺寸换算(英寸-毫米)CCD尺寸的说法是参考传统摄像机内的真空摄像管的对角线长短来衡量的,它严格遵守了OpticalFormat规范,中文译名为光学格式,其数值称为OF值,单位为英寸。因此CCD尺寸的标准OF值计算方法是其实际对角线长度(单位:16mm)也就是说数码相机里的一英寸长度不是工业上的25.4mm,是16mm!!以1/1.8英寸的CCD作例,这个1/1.8英寸就是计算公式中的OF值,16÷1.8≈8….

    2022年6月8日
    66
  • 机器学习之朴素贝叶斯算法详解

    机器学习之朴素贝叶斯算法详解1-1基本流程朴素贝叶斯公式:P(A|B)=P(A)P(B|A)P(B)P(A|B)=P(A)P(B|A)P(B)P(A|B)=\frac{P(A)P(B|A)}{P(B)}一、概率基础知识:条件概率是指事件A在另外一个事件B已经发生条件下的发生概率。条件概率表示为:P(A|B),读作“在B条件下A的概率”。若只有两个事件A,B,那么:P(AB)=P…

    2022年10月23日
    0
  • HTML与XML的区别(转)

    什么是HTML  HTML的全拼是Hypertext Markup Language, 中文也就是超文本链接标示语言。HTML(HyperTextMark-upLanguage)即超文本标记语言,是WWW的描述语言。设计HTML语言的目的是为了能把存放在一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起,形成有机的整体,人们不用考虑具体信息是在当前电脑上还是在网络的其它电脑上。我们只需

    2022年2月25日
    51
  • linux空文件夹删不掉_linux可以遍历删除空目录吗

    linux空文件夹删不掉_linux可以遍历删除空目录吗请关注本头条号,每天坚持更新原创干货技术文章。如需学习视频,请在微信搜索公众号“智传网优”直接开始自助视频学习。1.rmdir命令简介本文主要介绍rmdir命令,该命令用于删除Linux上的空目录。对于非空目录,请使用rm命令。2.rmdir命令选项-p或–parents:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除;–ignore-fail-on-non-empty:此…

    2025年5月27日
    0
  • java treetable_在Swing中创建TreeTable | 学步园

    java treetable_在Swing中创建TreeTable | 学步园TreeTable是Tree和Table的一个结合-就是一个即能够展开和收起行,同时也能够显示多个列的组件。在Swing的标准包里没有一个叫做JtreeTable的组件,但是我们很容易通过把Jtree做成Jtable的渲染器来创建一个这样的组件。这篇文章就是关于如何使用该技术来创建一个TreeTable。最后实现一个名为TreeTableExample0的例子程序,该例子实现了一个TreeTabl…

    2022年6月4日
    50
  • pycharm中格式化快捷键是什么_pycharm快捷键大全

    pycharm中格式化快捷键是什么_pycharm快捷键大全(1)快捷键:Ctrl+Alt+L可以将代码格式工整化(2)鼠标点击

    2022年10月27日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号