약 1시간 30분 컷 반복하는 규칙을 찾아서 풀면 된다. 규칙을 찾느라 오래걸림.
처음 간 방향을 벡터에 넣고 벡터의 다시 끝부터 방향을 읽으면서 (반대 방향->90도회전)하면서 이동함 #include #include using namespace std; int n, map[101][101]; int dx[4] = { 1,0,-1,0 }, dy[4] = { 0,-1,0,1 }, clockwise[4] = { 3,0,1,2 }, oppos[4] = { 2,3,0,1 }; void dragon_curve(int x, int y, int d, int g) //드래곤 커브를 map에 표시하는 함수 { //cout << d << endl; vector curve; curve.push_back(d); map[x][y] = 1; x += dx[d], y += dy[d]; map[x][y] = 1; int cnt = 0; while (cnt != g)...
원문 링크 : 백준 - 드래곤 커브