| ||||||||||
| 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 | |||||||||
把原来的那个程序改了,还是wa,知道大家都不爱看代码,不过,真的没有办法了In Reply To:自己顶一下,别沉了阿,希望能够熬到高手到来 Posted by:faen at 2005-05-25 16:11:53 import java.util.*;
import java.io.*;
public class Main
{
public static void main(String [] args)throws Exception
{
Scanner cin=new Scanner(System.in);
ArrayList[] asp=new ArrayList[21];
HashMap hmsi=new HashMap();
HashMap hmss=new HashMap();
for(int i=0;i<21;i++)
asp[i]=new ArrayList();
int rmax=0;
String smax="";
while(cin.hasNext())
{
String s=cin.next();
int length=s.length();
asp[length].add(s);
if(length==1)
{
hmsi.put(s,1);
hmss.put(s,s);
rmax=1;
smax=s;
}
}
for(int i=2;i<21;i++)
{
for(int j=0;j<asp[i].size();j++)
{
int tmax=0;
String ts="$$";
boolean flag=false;
for(int k=0;k<asp[i-1].size();k++)
{
if(isOk(asp[i].get(j),asp[i-1].get(k)))
{
flag=true;
if(tmax<=((Integer)hmsi.get(asp[i-1].get(k))).intValue())
{
tmax=((Integer)hmsi.get(asp[i-1].get(k))).intValue();
ts=(String)asp[i-1].get(k);
}
}
}
if(flag)
{
hmsi.put(asp[i].get(j),tmax+1);
hmss.put(asp[i].get(j),(String)hmss.get(ts)+"#"+(String)asp[i].get(j));
if(tmax+1>=rmax)
{
rmax=tmax+1;
smax=(String)asp[i].get(j);
}
}
else
{
hmsi.put(asp[i].get(j),1);
hmss.put(asp[i].get(j),(String)asp[i].get(j));
if(1>=rmax)
{
rmax=1;
smax=(String)asp[i].get(j);
}
}
}
}
String rrs=(String)hmss.get(smax);
String [] rras=rrs.split("#");
for(int i=0;i<rras.length;i++)
{
System.out.println(rras[i]);
}
}
private static boolean isOk(Object obig,Object osmall)
{
String big=(String)obig;
String small=(String)osmall;
for(int i=0;i<small.length();i++)
{
char c=small.charAt(i);
if(big.indexOf(c+"")<0)
return false;
}
return true;
}
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator