結果
問題 | No.5016 Worst Mayor |
ユーザー | gyozasukisuki |
提出日時 | 2023-04-29 15:11:21 |
言語 | C++14 (gcc 12.3.0 + boost 1.83.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 3,151 bytes |
コンパイル時間 | 2,002 ms |
コンパイル使用メモリ | 179,220 KB |
実行使用メモリ | 37,108 KB |
スコア | 0 |
最終ジャッジ日時 | 2023-04-29 15:12:18 |
合計ジャッジ時間 | 8,492 ms |
ジャッジサーバーID (参考情報) |
judge11 / judge12 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | TLE | - |
testcase_01 | -- | - |
testcase_02 | -- | - |
testcase_03 | -- | - |
testcase_04 | -- | - |
testcase_05 | -- | - |
testcase_06 | -- | - |
testcase_07 | -- | - |
testcase_08 | -- | - |
testcase_09 | -- | - |
testcase_10 | -- | - |
testcase_11 | -- | - |
testcase_12 | -- | - |
testcase_13 | -- | - |
testcase_14 | -- | - |
testcase_15 | -- | - |
testcase_16 | -- | - |
testcase_17 | -- | - |
testcase_18 | -- | - |
testcase_19 | -- | - |
testcase_20 | -- | - |
testcase_21 | -- | - |
testcase_22 | -- | - |
testcase_23 | -- | - |
testcase_24 | -- | - |
testcase_25 | -- | - |
testcase_26 | -- | - |
testcase_27 | -- | - |
testcase_28 | -- | - |
testcase_29 | -- | - |
testcase_30 | -- | - |
testcase_31 | -- | - |
testcase_32 | -- | - |
testcase_33 | -- | - |
testcase_34 | -- | - |
testcase_35 | -- | - |
testcase_36 | -- | - |
testcase_37 | -- | - |
testcase_38 | -- | - |
testcase_39 | -- | - |
testcase_40 | -- | - |
testcase_41 | -- | - |
testcase_42 | -- | - |
testcase_43 | -- | - |
testcase_44 | -- | - |
testcase_45 | -- | - |
testcase_46 | -- | - |
testcase_47 | -- | - |
testcase_48 | -- | - |
testcase_49 | -- | - |
ソースコード
#include <bits/stdc++.h> using namespace std; const int INF = 1e9; using ll = long long; using inv = vector<int>; using stv = vector<string>; using pint = pair<int,int>; #define FOR(i,l,r) for(int i=(l); i<(r); i++) #define rep(i,r) for(int i=0; i<(r); i++) #define repl(i,r) for(long long i=0; i<(r); i++) #define FORl(i,l,r) for(long long i=(l); i<(r); i++) #define INFL ((1LL<<62)-(1LL<<31)) #define pb(x) push_back(x) #define CIN(x) cin >> x template<class T> size_t HashCombine(const size_t seed,const T &v){ return seed^(std::hash<T>()(v)+0x9e3779b9+(seed<<6)+(seed>>2)); } template<class T> struct std::hash<std::vector<T>>{ size_t operator()(const std::vector<T> &keyval) const noexcept { size_t s=0; for (auto&& v: keyval) s=HashCombine(s,v); return s; } }; int main(){ int N,T; cin >> N >> T; vector<pint> S(N); vector<pint> G(N); rep(i,N){ int a,b,c,d; cin >> a >> b >> c >> d; S[i] = make_pair(a,b); G[i] = make_pair(c,d); } int pi = 0; unordered_map<vector<int>, bool> R; int CD = 100; rep(day,T){ ll u,v; cin >> u >> v; if(u == -1LL && v == -1LL) return 0; double cost = (double)1e7/(double)sqrt(v); if(day <= CD-1) cout << 2 << endl; else if((double)u <= cost){ cout << 3 << endl; }else{ bool ok = false; while(!ok){ vector<int> A{S[pi].first,S[pi].second,S[pi].first,S[pi].second}; if(S[pi].first < G[pi].first){ A[2]++; if(R[A]){ S[pi].first++; continue; } else{ cout << 1 << " " << S[pi].first << " " << S[pi].second << " " << S[pi].first+1 << " " << S[pi].second << endl; S[pi].first++; R[A] = true; ok = true; } }else if(S[pi].first > G[pi].first){ A[2]--; if(R[A]){ S[pi].first--; continue; } else{ cout << 1 << " " << S[pi].first << " " << S[pi].second << " " << S[pi].first-1 << " " << S[pi].second << endl; S[pi].first--; R[A] = true; ok = true; } }else if(S[pi].second < G[pi].second){ A[3]++; if(R[A]){ S[pi].second++; continue; } else{ cout << 1 << " " << S[pi].first << " " << S[pi].second << " " << S[pi].first << " " << S[pi].second +1 << endl; S[pi].second++; R[A] = true; ok = true; } }else if(S[pi].second > G[pi].second){ A[3]--; if(R[A]){ S[pi].second--; continue; } else{ cout << 1 << " " << S[pi].first << " " << S[pi].second << " " << S[pi].first << " " << S[pi].second -1 << endl; S[pi].second--; R[A] = true; ok = true; } } } if(S[pi].first == G[pi].first && S[pi].second == G[pi].second){ pi++; } } } return 0; }