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();
}

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • unable to access android sdk add-on list解决方案[通俗易懂]

    unable to access android sdk add-on list解决方案[通俗易懂]AndroidStudio报错unabletoaccessandroidsdkadd-onlist解决方案问题原因解决方案1.配置Proxy2.跳过检测在AndroidStudio的安装目录下,找到\bin\idea.properties在尾行添加disable.android.first.run=true,表示初次启动不检测SDK跳过后设置AndroidStuido模式下载SDK总结问题更新AndroidStudio4.2版本,启动后报错如下原因AS启动之后,会检查默

  • futex验证_fulvic

    futex验证_fulvic1,验证代码转载#include#include#include#include#includesem_tsem_a;void*task1();intmain(void){ intret=0; pthread_tthrd1; sem_init(&sem_a,0,1);  //createchildrenpr

  • Windows网络编程

    Windows网络编程

  • javascript断点调试

    javascript断点调试一、方法11.断点文件位置打开chrome,找到Sources,在一堆的文件夹里面找到你要调试的js文件,打开它:下面是html前端展示:2.打断点当你运行代码的时候,例如:操作搜索按钮点击事件,出现未知问题。首先,给Sources里面的js文件打断点。点击你要调试的代码的行数,发现行数会被标记为蓝色(chrome),这说明已经成功打断点了,恭喜你成功了第一步。3.断点调试对断点进行调试,首

  • Ubuntu base install

    Ubuntu base install

  • Dependency Injection

    Dependency Injection

发表回复

您的电子邮箱地址不会被公开。

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