http://acm.fjnu.edu.cn/show?problem_id=3008
在>或<情况下可能不存在完美字符串。
import java.util.*;
import java.io.*;


public class ACM_3008
{

public static void sort1(String s,char[] c)
{
int i,j,k,n=c.length;
boolean find=true;

for(i=0;i<n-1 && find;i++)
{
char t=c[i];
k=i;

for(j=i+1;j<n;j++)
{

if(c[j]>t)
{
t=c[j];
k=j;
}

else if(c[j]==t)
{
find=false;
break;
}
}
if(k!=i)

{
char tmp=c[i];
c[i]=c[k];
c[k]=tmp;
}
}

if(find)
{
for(i=0;i<n;i++)
System.out.print(c[i]);
System.out.println();
}
else
System.out.println(s);
}

public static void sort2(String s,char[] c)
{
int i,j,k,n=c.length;
boolean find=true;

for(i=0;i<n-1 && find;i++)
{
char t=c[i];
k=i;

for(j=i+1;j<n;j++)
{

if(c[j]<t)
{
t=c[j];
k=j;
}

else if(c[j]==t)
{
find=false;
break;
}
}
if(k!=i)

{
char tmp=c[i];
c[i]=c[k];
c[k]=tmp;
}
}

if(find)
{
for(i=0;i<n;i++)
System.out.print(c[i]);
System.out.println();
}
else
System.out.println(s);
}

public static void sort3(char[] c)
{
int i,j,k,n=c.length;

for(i=0;i<n-1;i++)
{
char t=c[i];
k=i;

for(j=i+1;j<n;j++)
{

if(c[j]>=t)
{
t=c[j];
k=j;
}
}
if(k!=i)

{
char tmp=c[i];
c[i]=c[k];
c[k]=tmp;
}
}
for(i=0;i<n;i++)
System.out.print(c[i]);
System.out.println();
}

public static void sort4(char[] c)
{
int i,j,k,n=c.length;

for(i=0;i<n-1;i++)
{
char t=c[i];
k=i;

for(j=i+1;j<n;j++)
{

if(c[j]<=t)
{
t=c[j];
k=j;
}
}
if(k!=i)

{
char tmp=c[i];
c[i]=c[k];
c[k]=tmp;
}
}
for(i=0;i<n;i++)
System.out.print(c[i]);
System.out.println();
}
public static void main(String rgs[]) throws Exception

{
BufferedReader stdin =
new BufferedReader(
new InputStreamReader(System.in));
String line = stdin.readLine();
String s = line;
char[] c = s.toCharArray();
line = stdin.readLine();
String t = line;
if(t.equals(">"))
sort1(s,c);
else if(t.equals("<"))
sort2(s,c);
else if(t.equals(">="))
sort3(c);
else
sort4(c);
}
}
posted on 2009-10-17 10:14
飞翔天使 阅读(238)
评论(0) 编辑 收藏 所属分类:
ACM