[C++]白駿23568号:Find the House


質問リンク
23568号:Find the House
問題の概要
英姫の出発点と各点での移動情報が(位置、方向、距離)順に与えられると、英姫の最終目的地が求められる.ただし、すべての情報の位置は重複しません.
方法
位置が重複しないため、位置をキーとするマップを作成します.これは簡単な問題で、始点から現在の位置をキーにして情報を取得し、シミュレーションに戻ることができます.ソートする必要がないため、ハッシュマッピングを使用するページの速度が速くなります.
これは21年のICPCニュースの当時の最も簡単な問題です.
コード#コード#
#include <bits/stdc++.h>
#include <unordered_map>

using namespace std;

unordered_map<int, pair<char, int>> m;

int main(void)
{
	int n;
	cin >> n;

	for (int i = 0; i < n; i++)
	{
		int num, dist;
		char dir;
		cin >> num >> dir >> dist;
		m.insert({ num, {dir, dist} });
	}

	int now;
	cin >> now;

	for (int i = 0; i < n; i++)
	{
		if (m[now].first == 'R')
			now += m[now].second;
		else
			now -= m[now].second;
	}

	cout << now << endl;
	return 0;
}