結果

問題 No.714 回転寿司屋のシミュレート
ユーザー 37zigen
提出日時 2018-07-13 23:08:46
言語 Java8
(openjdk 1.8.0.191)
結果
AC  
実行時間 180 ms
コード長 1,271 Byte
コンパイル時間 1,493 ms
使用メモリ 36,768 KB
最終ジャッジ日時 2019-08-21 16:15:25

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
rand1.txt AC 117 ms
31,904 KB
rand2.txt AC 111 ms
30,144 KB
rand3.txt AC 123 ms
32,056 KB
rand4.txt AC 131 ms
31,948 KB
rand5.txt AC 147 ms
32,224 KB
rand6.txt AC 145 ms
32,628 KB
rand7.txt AC 153 ms
33,912 KB
rand8.txt AC 160 ms
33,288 KB
rand9.txt AC 180 ms
36,768 KB
rand10.txt AC 156 ms
33,284 KB
rand11.txt AC 160 ms
32,772 KB
rand12.txt AC 155 ms
33,104 KB
rand13.txt AC 153 ms
32,776 KB
rand14.txt AC 147 ms
31,096 KB
rand15.txt AC 149 ms
31,312 KB
rand16.txt AC 150 ms
35,172 KB
rand17.txt AC 147 ms
33,064 KB
rand18.txt AC 155 ms
34,936 KB
rand19.txt AC 158 ms
31,944 KB
rand20.txt AC 154 ms
33,216 KB
rand21.txt AC 152 ms
33,304 KB
rand22.txt AC 148 ms
34,280 KB
rand23.txt AC 144 ms
34,276 KB
rand24.txt AC 146 ms
33,728 KB
rand25.txt AC 145 ms
34,376 KB
rand26.txt AC 148 ms
33,460 KB
rand27.txt AC 152 ms
32,896 KB
rand28.txt AC 154 ms
33,300 KB
rand29.txt AC 145 ms
33,604 KB
rand30.txt AC 157 ms
34,296 KB
test1.txt AC 111 ms
31,912 KB
test2.txt AC 114 ms
30,152 KB
test3.txt AC 110 ms
31,928 KB
test4.txt AC 101 ms
31,908 KB
test5.txt AC 102 ms
31,912 KB
テストケース一括ダウンロード

ソースコード

diff #
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Scanner;

class Main {
	public static void main(String[] args) {
		new Main().run();
	}

	void run() {
		Scanner sc = new Scanner(System.in);
		PrintWriter pw = new PrintWriter(System.out);
		int N = sc.nextInt();
		HashMap<String, Integer>[] hs = new HashMap[20];
		for (int i = 0; i < hs.length; ++i) {
			hs[i] = new HashMap<String, Integer>();
		}
		for (int i = 0; i < N; ++i) {
			int t = sc.nextInt();
			if (t == 0) {
				int ni = sc.nextInt() - 1;
				int mi = sc.nextInt();
				for (int j = 0; j < mi; ++j) {
					add(hs[ni], sc.next());
				}
			} else if (t == 1) {
				String s = sc.next();
				boolean f = false;
				for (int j = 0; j < 20; ++j) {
					if (hs[j].containsKey(s)) {
						pw.println(j + 1);
						rm(hs[j], s);
						f = true;
						break;
					}
				}
				if (!f)
					pw.println(-1);
			} else if (t == 2) {
				hs[sc.nextInt() - 1].clear();
			}

		}
		pw.close();
	}

	void add(HashMap<String, Integer> h, String s) {
		if (h.containsKey(s)) {
			h.put(s, h.get(s) + 1);
		} else {
			h.put(s, 1);
		}
	}

	void rm(HashMap<String, Integer> h, String s) {
		if (h.get(s) == 1) {
			h.remove(s);
		} else {
			h.put(s, h.get(s) - 1);
		}
	}

}
0