您的位置:首页 > 其它

字典序最小问题-贪心-Best Cow Line-POJ3617

2017-05-18 15:57 507 查看
题干好长。。可以把一个串取第一个,或者最后一个,要求新构造的串字典序最小。。

关键是相等的情况,如果相等就比较下一个。。直到判断出来方向。恩呢

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <vector>
using namespace std;
int main()
{  int m;
vector<char> a;
a.assign(2007,0);
while(cin>>m)
{ a.clear();
for(int i=0;i<m;i++)
cin>>a[i];
int aa=0;
int bb=m-1;
int k=0;
while(aa<=bb)
{   bool jud=false;
for(int i=0;aa+i<=bb;i++)
{if(a[aa+i]>a[bb-i])
{  jud=false;
break;
}
else if(a[aa+i]<a[bb-i])
{  jud=true;break;
}
}
if(jud)
printf("%c",a[aa++]);
else
printf("%c",a[bb--]);
k++;
if(k%80==0)
cout<<"\n";
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: