結果
| 問題 |
No.714 回転寿司屋のシミュレート
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2018-07-16 22:33:24 |
| 言語 | Java (openjdk 23) |
| 結果 |
AC
|
| 実行時間 | 329 ms / 2,000 ms |
| コード長 | 2,331 bytes |
| コンパイル時間 | 2,224 ms |
| コンパイル使用メモリ | 79,644 KB |
| 実行使用メモリ | 46,428 KB |
| 最終ジャッジ日時 | 2024-11-21 19:59:21 |
| 合計ジャッジ時間 | 11,235 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 35 |
ソースコード
package net.ipipip0129.yukicoder.no714;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
class Main {
protected static int MAX_DATA_SIZE = 53;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
People[] peoples = new People[21];
IDSystem id_sys = new IDSystem();
int num = Integer.parseInt(scanner.nextLine());
for (int i = 0; i < num; i++) {
String line = scanner.nextLine();
String[] string_data = line.split(" ");
if (line.toCharArray()[0] == '0') {
List<String> data_list = new ArrayList<>(Arrays.asList(string_data).subList(3, 3 + Integer.parseInt(string_data[2])));
peoples[Integer.parseInt(string_data[1])] = new People(id_sys, data_list);
} else if (line.toCharArray()[0] == '1') {
int id = id_sys.getID(string_data[1]);
int ans = -1;
for (int j = 1; j < 21; j++) {
if (peoples[j] != null) {
if (peoples[j].req_process(id)){
ans = j;
break;
}
}
}
System.out.println(ans);
} else if (line.toCharArray()[0] == '2') {
peoples[Integer.parseInt(string_data[1])] = null;
}
}
}
}
class People {
private int[] req_list = new int[Main.MAX_DATA_SIZE];
People(IDSystem id_sys, List<String> data_list) {
for (String data : data_list) {
req_list[id_sys.getID(data)]++;
}
}
boolean req_process(int id) {
if (req_list[id] != 0) {
req_list[id]--;
return true;
}
return false;
}
}
class IDSystem {
private static String[] string_data = new String[Main.MAX_DATA_SIZE];
private static int next_id = 0;
int getID(String data) {
for (int i = 0; i < next_id; i++) {
if (string_data[i].equals(data)) {
return i;
}
}
string_data[next_id] = data;
next_id++;
return next_id - 1;
}
}