| ||||||||||
| 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 | |||||||||
看frkstyc大哥说那样可以的,为什么到我这儿就TLE了呢?我的想法也是先对auxilary排序,然后线性的构造树,在然后遍历输出。
可是超时了,那位帮忙看看吧。
import java.io.*;
import java.util.*;
public class Main
{
public static void main(String [] args)throws Exception
{
System.out.println("YES");
Scanner cin=new Scanner(System.in);
int n=cin.nextInt();
KA [] input=new KA[n];
KA [] output=new KA[n];
for(int i=1;i<=n;i++)
{
input[i-1]=new KA(i,cin.nextInt(),cin.nextInt());
}
Arrays.sort(input);
KATree kaTree=new KATree(input[0]);
KATree.output=output;
for(int i=1;i<n;i++)
kaTree.add(input[i]);
kaTree.pre();
for(int i=0;i<n;i++)
{
if(output[i].parent==null)
System.out.print(0);
else
System.out.print(output[i].parent.index);
System.out.print(" ");
if(output[i].left==null)
System.out.print(0);
else
System.out.print(output[i].left.index);
System.out.print(" ");
if(output[i].right==null)
System.out.print(0);
else
System.out.print(output[i].right.index);
System.out.println();
}
}
}
class KATree
{
public static KA [] output;
private static int flag=0;
KA root=null;
public KATree(KA root)
{
this.root=root;
}
public void add(KA t)
{
KA p=root,pf=root;
while(p!=null)
{
pf=p;
if(t.key>p.key)
p=pf.right;
else
p=pf.left;
}
if(t.key>pf.key)
pf.right=t;
else
pf.left=t;
t.parent=pf;
}
public void pre()
{
preprint(root);
}
private void preprint(KA node)
{
if(node!=null)
{
output[node.index-1]=node;
preprint(node.left);
preprint(node.right);
}
}
}
class KA implements java.lang.Comparable
{
public int index;
public int key;
public int auk;
public KA left=null;
public KA right=null;
public KA parent=null;
public KA(int c,int a,int b)
{
index=c;
key=a;
auk=b;
}
public int compareTo(Object o)
{
KA t=(KA)o;
if(auk<t.auk)return -1;
if(auk>t.auk)return 1;
return 0;
}
public String toString()
{
return "["+index+" "+key+" "+auk+"]";
}
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator