結果

問題 No.714 回転寿司屋のシミュレート
ユーザー 37zigen
提出日時 2018-07-13 23:08:46
言語 Java11
(openjdk 11.0.5)
結果
AC  
実行時間 173 ms
コード長 1,271 Byte
コンパイル時間 2,266 ms
使用メモリ 27,148 KB
最終ジャッジ日時 2019-12-27 19:46:51

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
rand1.txt AC 107 ms
21,796 KB
rand2.txt AC 106 ms
21,628 KB
rand3.txt AC 121 ms
22,064 KB
rand4.txt AC 118 ms
22,072 KB
rand5.txt AC 131 ms
22,916 KB
rand6.txt AC 140 ms
23,648 KB
rand7.txt AC 141 ms
24,968 KB
rand8.txt AC 155 ms
25,716 KB
rand9.txt AC 173 ms
27,148 KB
rand10.txt AC 154 ms
25,724 KB
rand11.txt AC 149 ms
25,648 KB
rand12.txt AC 143 ms
24,072 KB
rand13.txt AC 146 ms
24,612 KB
rand14.txt AC 141 ms
24,156 KB
rand15.txt AC 147 ms
24,372 KB
rand16.txt AC 144 ms
24,332 KB
rand17.txt AC 148 ms
24,096 KB
rand18.txt AC 153 ms
25,656 KB
rand19.txt AC 151 ms
24,476 KB
rand20.txt AC 148 ms
24,244 KB
rand21.txt AC 151 ms
24,340 KB
rand22.txt AC 144 ms
24,264 KB
rand23.txt AC 145 ms
24,032 KB
rand24.txt AC 141 ms
24,300 KB
rand25.txt AC 143 ms
24,056 KB
rand26.txt AC 138 ms
24,188 KB
rand27.txt AC 137 ms
23,692 KB
rand28.txt AC 144 ms
24,332 KB
rand29.txt AC 143 ms
23,916 KB
rand30.txt AC 143 ms
23,808 KB
test1.txt AC 111 ms
21,808 KB
test2.txt AC 116 ms
21,768 KB
test3.txt AC 114 ms
21,924 KB
test4.txt AC 104 ms
21,592 KB
test5.txt AC 107 ms
21,640 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