結果
問題 | No.714 回転寿司屋のシミュレート |
ユーザー |
![]() |
提出日時 | 2023-05-10 17:43:14 |
言語 | TypeScript (5.7.2) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,663 bytes |
コンパイル時間 | 9,526 ms |
コンパイル使用メモリ | 229,988 KB |
実行使用メモリ | 49,672 KB |
最終ジャッジ日時 | 2024-12-31 16:49:31 |
合計ジャッジ時間 | 12,541 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 5 WA * 30 |
ソースコード
"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];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")// );// releasemain(readFileSync("/dev/stdin", "utf8"));