SRM 570 Div1
○-- +0/-0 164.02pt rate: 1467 -> 1472
easy解くの遅すぎて死んでしまいます 今回Challenge出来そうになかったし諦め。
med, 木dpなのはわかるがバグるし知らない。dp苦手すぎる... まあ550だし仕方ないね
easy - 周期4に気付いて適当に処理。よく見るとrep(i, T) rep(i, sz)とかいう怖いことをしているが落ちなくて怖い
class RobotHerb{ public: long long getdist(int T, vector <int> a){ int sz = a.size(); int dir = 0; ll x = 0, y = 0; rep(i, sz){ x += dx[dir] * a[i]; y += dy[dir] * a[i]; dir = (dir + a[i]) % 4; } if(dir == 0){ x *= (ll)T; y *= (ll)T; }else if(dir == 2){ if(T & 1) return abs(x) + abs(y); else return 0LL; }else{ T %= 4; x = 0; y = 0; rep(i, T){ rep(i, sz){ x += dx[dir] * a[i]; y += dy[dir] * a[i]; dir = (dir + a[i]) % 4; } } } return abs(x) + abs(y); } };