返回信息流LZ用java来做此题,发现一直报错,实在不知道哪里有错,望各位看官指导。
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Map;
import java.util.Queue;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;
public class Main
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int t = in.nextInt();
while(t-- > 0)
{
int n = in.nextInt();
in.nextLine();
Map<Integer,Set<Integer>> hashMap = new HashMap<Integer,Set<Integer>>();
Set<Integer> set = new TreeSet<Integer>();
hashMap.put(0,set);
for(int k = 0; k < n; k++)
{
String s = in.nextLine();
String[] str = s.split("\\s+");
if(str.length == 3)
{
int temp = Integer.parseInt(str[1]);
if(hashMap.containsKey(temp))
{
TreeSet treeset = (TreeSet) hashMap.get(temp);
treeset.add(Integer.parseInt(str[2]));
Set<Integer> set1 = new TreeSet<Integer>();
hashMap.put(Integer.parseInt(str[2]),set1);
}
}
else if(str.length == 2)
{
if(str[0].charAt(0) == 'Q')
{
if(hashMap.containsKey(Integer.parseInt(str[1])))
{
System.out.println("Yes");
}
else
{
System.out.println("No");
}
}
else if(str[0].charAt(0) == 'K')
{
if(hashMap.containsKey(Integer.parseInt(str[1])))
{
if(Integer.parseInt(str[1]) != 0)
{
TreeSet ts = (TreeSet) hashMap.get(Integer.parseInt(str[1]));
int length = ts.size();
Queue<Integer> queue = new LinkedList<Integer>();
queue.add(Integer.parseInt(str[1]));
while(!queue.isEmpty())
{
while(length-- > 0)
{
Integer tmp = queue.poll();
TreeSet Ts = (TreeSet) hashMap.get(tmp);
Iterator it = Ts.iterator();
hashMap.remove(tmp);
while(it.hasNext())
{
queue.add((Integer) it.next());
}
}
length = queue.size();
}
}
}
}
}
}
}
}
}
这是一条镜像帖。来源:北邮人论坛 / acm-icpc / #89306同步于 2016/3/27
ACM_ICPC机器人发帖
北邮OJ 268 进程管理
sun111
2016/3/27镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。