Submission
Status:
[PP-SSSSSSS]
Subtask/Task Score:
{0/100}
Score: 0
User: TonnamSora
Problemset: Path Finding
Language: cpp
Time: 0.002 second
Submitted On: 2025-10-10 08:41:44
#include <iostream>
using namespace std;
int main(){
int N;
cin >> N;
char a[N][N];
char ch = 'A';
int n;
cin >> n;
int x[n], y[n];
for(int i = 0; i < n; i++){
cin >> y[i] >> x[i];
}
for(int i = 0; i < n; i++){
if(x[i] > N - 1 || y[i] > N - 1){
cout << "Out of range";
return 0;
}
}
for(int i = 0; i < N; i++){
for(int j = 0; j < N; j++){
a[i][j] = '_';
}
}
for(int i = 0; i < n; i++){
}
int posx1, posy1, posx2, posy2, posxgoal, posygoal;
for(int i = 0; i < n - 1; i++){
a[y[i]][x[i]] = char(ch + i);
if(i == n - 2){
a[y[i + 1]][x[i + 1]] = char(ch + i + 1);
}
posx1 = x[i];
posy1 = y[i];
posxgoal = x[i + 1];
posygoal = y[i + 1];
posx2 = posxgoal;
posy2 = posygoal;
if(posx2 > posx1){
for(int j = posx1 + 1; j < posx2 + 1; j++){
int m = 0;
/*for(int k = 0; k < 26; k++){
if(a[posy1][j] == char(ch + k)){
m++;
}
}*/
//if(m == 0){
a[posy1][j] = '>';
//}
}
}
else if(posx2 < posx1){
for(int j = posx2; j < posx1; j++){
int m = 0;
/*for(int k = 0; k < 26; k++){
if(a[posy1][j] == char(ch + k)){
m++;
}
}*/
//if(m == 0){
a[posy1][j] = '<';
//}
}
}
if(posy2 > posy1){
if(posx1 == posx2){
for(int j = posy1 + 1; j < posy2; j++){
int m = 0;
a[posy1][posx1] = char(ch + i);
/*for(int k = 0; k < 26; k++){
if(a[j][posx2] == char(ch + k)){
m++;
}
}*/
//if(m == 0){
a[j][posx2] = 'v';
//}
}
}
else{
for(int j = posy1; j < posy2; j++){
int m = 0;
a[posy1][posx1] = char(ch + i);
/*for(int k = 0; k < 26; k++){
if(a[j][posx2] == char(ch + k)){
m++;
}
}*/
//if(m == 0){
a[j][posx2] = 'v';
//}
}
}
}
else if(posy2 < posy1){
if(posx1 == posx2){
for(int j = posy2 + 1; j < posy1; j++){
int m = 0;
a[posy1][posx1] = char(ch + i);
/*for(int k = 0; k < 26; k++){
if(a[j][posx2] == char(ch + k)){
m++;
}
}*/
//if(m == 0){
a[j][posx2] = '^';
//}
}
}
else{
for(int j = posy2 + 1; j < posy1 + 1; j++){
int m = 0;
a[posy1][posx1] = char(ch + i);
/*for(int k = 0; k < 26; k++){
if(a[j][posx2] == char(ch + k)){
m++;
}
}*/
//if(m == 0){
a[j][posx2] = '^';
//}
}
}
}
}
for(int i = 0; i < N; i++){
for(int j = 0; j < N; j++){
cout << a[i][j];
}
cout << "\n";
}
}