PTA的哲哲打游戏题解JAVA 与 快读的区别

代码

import java.util.*;
import java.io.*;
public class Main {
	static class FastScanner{
		BufferedReader buf;
		StringTokenizer stk;
		public FastScanner() {
			buf = new BufferedReader(new InputStreamReader(System.in),16384);
			eat("");
		}
		public void eat(String ss) {
			stk = new StringTokenizer(ss);
		}
		public String nextLine() {
			try {
				return buf.readLine();
			} catch (IOException e) {
				e.printStackTrace();
				return null;
			}
		}
		public boolean hasNext() {
			while(!stk.hasMoreTokens()) {
				String ss = nextLine();
				if(ss==null) {
					return false;
				}
				eat(ss);
			}
			return true;
		}
		public String next() {
			hasNext();
			return stk.nextToken();
		}
		public int nextInt() {
			return Integer.parseInt(next());
		}
	}
//	static FastScanner in = new FastScanner();
	static StreamTokenizer in=new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
	
	static PrintWriter out = new PrintWriter(System.out);
	public static void main(String[] args) throws IOException {
		in.nextToken();
		int fa = (int)in.nval;
		in.nextToken();
		int fb = (int)in.nval;
		Data[] data = new Data[fa+1];
		for(int i=1;i<=fa;i++) {
			data[i] = new Data();

			in.nextToken();
			int temp = (int)in.nval;
			int[] tempshu = new int[temp+1];
			for(int j=1;j<=temp;j++) {

				in.nextToken();
				tempshu[j] = (int)in.nval;
			}
			data[i].datashu = tempshu;
		}
		int[] cun = new int[105];
		int chu = 1;
		for(int i=0;i<fb;i++) {
			/**
			 * 只能读取同类型的数据
			 */
			in.nextToken();
			int temp1 = (int)in.nval;

			in.nextToken();
			int temp2 = (int)in.nval;
			if(temp1 == 1) {
				out.println(chu);
				cun[temp2] = chu;
			}else if(temp1 == 0) {
				chu = data[chu].datashu[temp2];
			}else if(temp1 == 2) {
				chu = cun[temp2];
			}
		}
		out.println(chu);
		out.close();
	}

}
class Data{
	int[] datashu;
}

posted @ 2022-04-20 22:36  忆林pp  阅读(8)  评论(0)    收藏  举报  来源