結果
| 問題 |
No.714 回転寿司屋のシミュレート
|
| コンテスト | |
| ユーザー |
Rim_EarthLights
|
| 提出日時 | 2023-05-10 17:41:07 |
| 言語 | TypeScript (5.7.2) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,683 bytes |
| コンパイル時間 | 8,919 ms |
| コンパイル使用メモリ | 230,684 KB |
| 実行使用メモリ | 51,084 KB |
| 最終ジャッジ日時 | 2024-12-31 16:49:17 |
| 合計ジャッジ時間 | 15,247 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | WA * 35 |
ソースコード
"use strict";
import { readFileSync } from "fs";
let Users: User[] = [];
const main = (arg: string) => {
const input = arg
.trim()
.split("\n")
.map((i) => i.split(" "));
// 一行目は破棄する
input.shift();
input.map((i) => {
const command = i[0];
console.log(i);
switch (command) {
case "0": {
// 着席
const table = Number(i[1]);
const favorite = i.splice(3);
regist(table, favorite);
break;
}
case "1": {
// ネタを流す
const neta = i[1];
eat(neta);
break;
}
case "2": {
// 退席
const table = Number(i[1]);
remove(table);
break;
}
default: {
break;
}
}
});
};
const regist = (table: number, favorite: string[]) => {
Users.push({ table, favorite });
Users = Users.sort((u) => u.table);
};
const remove = (table: number) => {
Users = Users.filter((u) => u.table !== table);
};
const eat = (favorite: string) => {
for (const u of Users) {
const idx = u.favorite.findIndex((u) => u === favorite);
if (idx > -1) {
u.favorite.splice(idx, 1);
console.log(u.table);
return;
}
}
console.log(-1);
};
interface User {
table: number;
favorite: string[];
}
// debug
// main(
// [
// "11",
// "1 toro",
// "1 unagi",
// "0 14 4 maguroakami hotatekai unagi maguroakami",
// "1 saamonnmottu",
// "1 unagi",
// "1 unagi",
// "1 maguro",
// "1 kouika",
// "1 maguroakami",
// "1 maguroakami",
// "2 14",
// ].join("\n")
// );
// release
main(readFileSync("/dev/stdin", "utf8"));
Rim_EarthLights