Skip to content

Latest commit

 

History

History
39 lines (33 loc) · 495 Bytes

061.md

File metadata and controls

39 lines (33 loc) · 495 Bytes

061 - Deck (★2)

解答

#include <iostream>
#include <deque>

int main()
{
	// Q 回の操作
	int Q;
	std::cin >> Q;

	// 山札(上から順に並んでいる)
	std::deque<int> deck;

	for (int i = 0; i < Q; ++i)
	{
		int t, x;
		std::cin >> t >> x;

		if (t == 1)
		{
			// 山札の一番上に追加
			deck.push_front(x);
		}
		else if (t == 2)
		{
			// 山札の一番下に追加
			deck.push_back(x);
		}
		else
		{
			std::cout << deck[x - 1] << '\n';
		}
	}
}