| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
我用stl 我不知道错那了?#include<iostream>
#include<algorithm>
#include<string>
#include<cmath>
using namespace std;
char str[30][30];
int min(char st[30])
{
int i,temp;
int len=strlen(st);
int mmin=30;
for(i=1;i<len;i++)
{
temp=abs(st[i]-st[i-1]);
if(temp<mmin)mmin=temp;
}
return mmin;
}
int main()
{
string s;
int i;
//int res[30];
while(cin>>s)
{
memset(str,0,sizeof(str));
string ss;
ss=s;
strcpy(str[10],ss.c_str());
for(i=11;i<=20;i++)
{
std::next_permutation(ss.begin(),ss.end());
strcpy(str[i],ss.c_str());
}
ss=s;
for(i=9;i>=0;i--)
{
std::prev_permutation(ss.begin(),ss.end());
strcpy(str[i],ss.c_str());
}
int rres=0;
int num=10;
int temp;
for(i=10;i>=0;i--)
{
temp=min(str[i]);
if(temp>rres)
{
rres=temp;
num=i;
}
}
int rres2=0,num2=10;
for(i=10;i<21;i++)
{
temp=min(str[i]);
if(temp>rres2)
{
rres2=temp;
num2=i;
}
}
if(rres<rres2)
{
rres=rres2;
num=num2;
}
else
{
if(rres==rres2)
{
if(num2-10<10-num)
{
num=num2;
}
}
}
cout<<str[num]<<rres<<endl;
}
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator