Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

我用stl 我不知道错那了?

Posted by sailors at 2007-08-25 14:14:34
#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:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator