kyos1704活動記

適当に考えたことや調べたことを垂れ流すものです。質問等ありましたらtwitter:@kyos1704 に質問してください。

SRM570 - div2 - med - 500

ロボットの動きをシミュレーションして
最後の地点との距離的なものを計算する

式は与えられてる

#include<iostream>
#include<vector>
#include<string>
#include<stack>
#include<queue>
#include<cmath>
#include<cstdio>
using namespace std;



class RobotHerbDiv2{
public:
	int getdist(int T, vector <int> a){
		int ans=0;
		int x[4]={1,0,-1,0};
		int y[4]={0,1,0,-1};
		int pos_x=0;
		int pos_y=0;
		int v=0;
		int a_size=a.size();
		for(int i=0;i<T;i++){
			for(int j=0;j<a_size;j++){
				pos_x+=x[v]*a[j];
				pos_y+=y[v]*a[j];
				v+=a[j];
				v=v%4;
			}
		}
		
		ans+=abs(pos_x)+abs(pos_y);
		
		return ans;
	}

};

やるだけ

問題文に書いてあるとおりに実装する