結果
問題 | No.714 回転寿司屋のシミュレート |
ユーザー |
|
提出日時 | 2019-01-30 11:56:37 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 11 ms / 2,000 ms |
コード長 | 2,532 bytes |
コンパイル時間 | 799 ms |
コンパイル使用メモリ | 69,084 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-13 09:43:48 |
合計ジャッジ時間 | 2,044 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 35 |
ソースコード
#include <iostream>#include <vector>#include <map>using namespace std;template<class T> bool maxPointer(T& a, T b) { if (a < b) {a = b;return true;}return false;}template<class T> int maxReturn(T a, T b) {if (a > b) {return a;} else {return b;}}template<class T> bool minPointer(T& a, T b) {if (a < b) {a = b;return true;}return false;}const int seatCount = 20;class costmer {private :vector<string> wantList;bool existFlag = false;public :bool checkExist() {return existFlag;}void setExitst() {existFlag = true;}void setWantList(string item) {wantList.push_back(item);}bool searchWantList(string item) {vector<string>::iterator i = wantList.begin();vector<string>::iterator end = wantList.end();for (; i != end; i++) {if (item == *i) {deleteWantList(i);return true;}}return false;}void deleteWantList(vector<string>::iterator i) {wantList.erase(i);}void leave() {wantList.clear();existFlag = false;}};int main(void){int N;cin >> N;costmer costmerList[seatCount];for (int i = 0; i < N; i++) {int type,n,m,C;string B;cin >> type;switch (type) {case 0 :cin >> n >> m;costmerList[n-1].setExitst();for (int j = 0; j < m; j++) {string wantitem;cin >> wantitem;costmerList[n-1].setWantList(wantitem);}break;case 1 :cin >> B;int ans;ans = -1;for (int j = 0; j < seatCount; j++) {if (costmerList[j].checkExist()) {if (costmerList[j].searchWantList(B)) {ans = j + 1;break;}}}cout << ans << endl;break;case 2 :cin >> C;costmerList[C-1].leave();break;}}}