Untitled
unknown
plain_text
a year ago
3.0 kB
3
Indexable
import java.io.BufferedReader; import java.io.FileInputStream; import java.io.InputStreamReader; import java.util.StringTokenizer; class Solution { private static BufferedReader br; private static UserSolution usersolution = new UserSolution(); private final static int CMD_INIT = 100; private final static int CMD_SHARE = 200; private final static int CMD_REQUEST = 300; private final static int CMD_COMPLETE = 400; private static boolean run() throws Exception { int[] u = new int[200]; int[] v = new int[200]; int[] bandwidth = new int[200]; char[] filename = new char[10]; StringTokenizer stdin = new StringTokenizer(br.readLine(), " "); int query_num = Integer.parseInt(stdin.nextToken()); boolean ok = false; for (int q = 0; q < query_num; q++) { stdin = new StringTokenizer(br.readLine(), " "); int query = Integer.parseInt(stdin.nextToken()); if (query == CMD_INIT) { int N = Integer.parseInt(stdin.nextToken()); for(int i = 0; i < N-1; i++) u[i] = Integer.parseInt(stdin.nextToken()); for(int i = 0; i < N-1; i++) v[i] = Integer.parseInt(stdin.nextToken()); for(int i = 0; i < N-1; i++) bandwidth[i] = Integer.parseInt(stdin.nextToken()); usersolution.init(N, u, v, bandwidth); ok = true; } else if (query == CMD_SHARE) { int uid = Integer.parseInt(stdin.nextToken()); String inputStr = stdin.nextToken(); for(int k = 0; k < inputStr.length(); ++k) filename[k] = inputStr.charAt(k); filename[inputStr.length()] = '\0'; int filesize = Integer.parseInt(stdin.nextToken()); int ret = usersolution.share(uid, filename, filesize); int ans = Integer.parseInt(stdin.nextToken()); if(ret != ans) ok = false; } else if (query == CMD_REQUEST) { int uid = Integer.parseInt(stdin.nextToken()); String inputStr = stdin.nextToken(); for(int k = 0; k < inputStr.length(); ++k) filename[k] = inputStr.charAt(k); filename[inputStr.length()] = '\0'; int tid = Integer.parseInt(stdin.nextToken()); int ret = usersolution.request(uid, filename, tid); int ans = Integer.parseInt(stdin.nextToken()); if(ret != ans) ok = false; } else if (query == CMD_COMPLETE) { int tid = Integer.parseInt(stdin.nextToken()); int ret = usersolution.complete(tid); int ans = Integer.parseInt(stdin.nextToken()); if(ret != ans) ok = false; } } return ok; } public static void main(String[] args) throws Exception { int T, MARK; System.setIn(new FileInputStream("src/input.txt")); br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer stinit = new StringTokenizer(br.readLine(), " "); T = Integer.parseInt(stinit.nextToken()); MARK = Integer.parseInt(stinit.nextToken()); for (int tc = 1; tc <= T; tc++) { int score = run() ? MARK : 0; System.out.println("#" + tc + " " + score); } br.close(); } }
Editor is loading...
Leave a Comment