Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: Dark_kingdom

Problemset: นักเดินทาง

Language: cpp

Time: 0.004 second

Submitted On: 2026-10-13 23:25:13

#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;

int main()
{
	string dir;
	cin>>dir;
	
	int ver = 1, hor = 1;
	int max_ver = 1, max_hor =1;
	
	for(int i = 1;i<dir.length(); i++)
	{
		if(dir[i] == 'D') ver++;
		else if(dir[i] == 'U') ver--;
		else if(dir[i] == 'R') hor++;
		else if(dir[i] == 'L') hor--;
		
		if(ver>max_ver) max_ver = ver;
		if(hor>max_hor) max_hor = hor;	
	}
	
	vector<vector<char>> pos(max_ver, vector<char>(max_hor, '.'));
	
	if(dir[0] == 'D') pos[0][0] = 'a';
	else return 0;
	
	int r = 0, c = 0, cs = 1, t = 0;
	
	while(cs < dir.length())
	{
		if(dir[cs] == 'D') r++;
		if(dir[cs] == 'U') r--;
		if(dir[cs] == 'R') c++;
		if(dir[cs] == 'L') c--;
						
				
		if(cs<26)
		{
			pos[r][c] = (char)(cs+'a');
		}
		else
		{
			pos[r][c] = (char)(t+'A');
			t++;
		}	
		cs++;
	}
	
	for(int i = 0; i<max_ver; i++)
	{
		for(int j=0; j<max_hor; j++)
		{
			cout<<pos[i][j];
		}
		cout<<"\n";
	}
	
	return 0;
}