写在前边:暑假开始了,白书刷起来
题目大意:给你字符串和相应的规则,求解出最长的字符串。
题目思路:贪心,坑点:设计贪心思路的时候要考虑首尾一样时的策略与方法。
代码:
#include<iostream>
#include<cstdio>
using namespace std;
int n;
char str[2020];
void func()
{
int l=0,r=n-1,cnt=0;
while(l<=r)
{
int flag=0;
for(int i=0;i+l<=r;i++)
{
if(str[i+l]<str[r-i])
{
flag=1;
break;
}
else if(str[i+l]>str[r-i])
{
flag=0;
break;
}
}
if(flag)
cout<<str[l++];
else
cout<<str[r--];
cnt++;
if(cnt==80)
{
cout<<endl;
cnt=0;
}
}
}
int main()
{
while(~scanf("%d",&n))
{
for(int i=0;i<n;i++)
cin>>str[i];
func();
}
}