POJ3617 Best Cow Line 馋

POJ3617 Best Cow Line 馋

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

虽然这个问题很简单,但非常好,由于过程是很不错的。发展思路的比较 并鼓励人们,不像有些贪心太偏,推动穷人,但恼人

鉴于长N弦S,然后又空字符串STR。每当有两个选择 1:删S增加虚假的第一要素STR于      2:删S增加最后一个元素STR于

是的STR字典序最小 并输出

開始可能没有什么顾虑的去想 每次比較S的头和尾元素 取小的那个删除并假如STR中。可是若S的头和尾元素一样的话这种方法就不行了,由于先取头或者尾还得看他们之间的元素,这时候是倒着来还是顺着好呢?那就直接拿顺的跟倒的进行字典序的大小比較就好了,这样当头尾相等时就能把他们中间的囊括进去,

做法:

字符串S。然后倒置得到S1,比較大小若S小,则取S的头部元素。若S大则取S的尾部元素,然后再把S倒置。再与它的倒置比較,如此循环的做N次就可以

#include<iostream>
#include<cstdio>
#include<list>
#include<algorithm>
#include<cstring>
#include<string>
#include<queue>
#include<stack>
#include<map>
#include<vector>
#include<cmath>
#include<memory.h>
#include<set>
#include<cctype>

#define ll long long

#define LL __int64

#define eps 1e-8

#define inf 0xfffffff

//const LL INF = 1LL<<61;

using namespace std;

//vector<pair<int,int> > G;
//typedef pair<int,int > P;
//vector<pair<int,int> > ::iterator iter;
//
//map<ll,int >mp;
//map<ll,int >::iterator p;

string s;
string str;
string ans;
string ch;

int main() {
	int n;
	bool flag = false;
	while(cin>>n) {
		while(n--) {
			cin>>ch;
			s += ch;
		}
		str = s;
		reverse(s.begin(),s.end());
		int len = s.length();
		while(len--) {
			if(str < s) {
				ans += str[0];
				str.erase(0,1);
			}
			else {
				ans += str[str.length() - 1];
				str.erase(str.length() - 1,1);
			}
			s = str;
			reverse(s.begin(),s.end());
		}
		for(int i=0;i<ans.length();i++) {
			cout<<ans[i];
			if((i+1)%80 == 0)puts("");
		}
		puts("");
	}
	return 0;
}

版权声明:本文博客原创文章,博客,未经同意,不得转载。

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

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

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


相关推荐

  • 如何删除织梦系统power by dedecms

    如何删除织梦系统power by dedecms很多织梦系统底部会自带powerbydedecms,这个powerbydedecms是什么意思呢?这个powerby是织梦系统版权信息,但是织梦系统是开源免费的,所以今天小编就和大家说说如

    2022年6月30日
    21
  • 奇怪的电梯

    奇怪的电梯奇怪的电梯【问题描述】某栋大楼有一种很奇怪的电梯。大楼的每一层楼都可以停电梯,而且第i层楼(1≤i<N)上有一个数字K(≤K≤N)电梯只有四个按钮:开、关、上、下。上、下的层数等于当前楼层上的那个数字。当然,如果不能满足要求,相应的按钮就会失灵。例如:33125代表了Ki(K1=3,K2=3,…),从一层开始。在一层按“上”可以到4层,按“下”是不起作用的,因为没有-2层。那么从A层到B层至少要按几次按钮呢?【输入格式】第1行为3个用1个空格隔开的正整数,表示N、A、B(l≤N≤200,1≤

    2022年6月14日
    33
  • petShop_技术架构

    petShop_技术架构.项目概述与架构分析微软刚推出了基于ASP.NET2.0下的PetShop4,该版本有了一个全新的用户界面。是研究ASP.NET2.0的好范例啊,大家都知道,一直以来,在.NET和Java之间争论不休,到底使用哪个平台开发的企业级应用性能最好、结构最优、生产力最高。为了用事实说话,通过对项目各方面的性能评估进而在比较.NET和Java的高下。用户做比较的这个项目就是Pe…

    2022年10月9日
    0
  • fragment与activity生命周期方法是一致的_android的生命周期

    fragment与activity生命周期方法是一致的_android的生命周期如果我们在Fragment和它的宿主Activity的生命周期中都加上Log日志,你能顺利写出他们的执行顺序吗?我们先来看一张Google官方的图片:咋一听,Activity生命周期有七个方法,Fragment生命周期有十一个方法,貌似挺复杂的,其实我们只需要明白到底是谁带领着谁去执行生命周期的方法,就能很快弄明白这个问题。在创建的过程中,是Activity带领Fragment执行生命周期中

    2022年8月16日
    3
  • cannot open image file 1:-1_linux C

    cannot open image file 1:-1_linux C关于使用《FirstOrderMotionModelforImageAnimation》Github项目中所遇到的OSError:Failedtoopenfileb’C:\\Users\\\xe6\x96\x87…\\AppData\\Local\\Temp\\scipy-xxxxx报错原因:路径中包含中文解决方案:修改计算机环境变量中的Temp文件夹路径OSError:Failedtoopenfileb’C:\Users\\xe6\x96\x87…\AppDa

    2022年9月13日
    0
  • (四)概率

    (四)概率

    2021年11月16日
    74

发表回复

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

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