이번엔 정상적인 해결..ㅎㅎ
여전히 잠이 안오는 걸로봐서.. 데블스캠프가 밤낮을 바꾼듯..;;ㅁ;;
여전히 잠이 안오는 걸로봐서.. 데블스캠프가 밤낮을 바꾼듯..;;ㅁ;;
~cpp #include <iostream> using namespace std; int main(){ char mark[8][8]={0,}; int x[8]={0,}; int qeen=0; while(qeen!=8){ if (0==mark[x[qeen]][qeen]) { for (register int i=-7; i<8; ++i) { if (-1<i) mark[x[qeen]][i]=1;//가로 if (-1<x[qeen]+i && x[qeen]+i<8 && -1<qeen+i && qeen+i<8) mark[x[qeen]+i][qeen+i]=1;//대각선 if (-1<x[qeen]+i && x[qeen]+i<8 && -1<qeen-i && qeen-i<8) mark[x[qeen]+i][qeen-i]=1;//대각선 } mark[x[qeen]][qeen]=2; ++qeen; if (8==qeen) { //출력하고 종료한다. for (register int i=0; i<8; ++i){ for (register int j=0; j<8; ++j){ if (2==mark[i][j]) cout << "■"; else cout << "□"; } cout << "\n"; } system("PAUSE"); break; } } else { ++x[qeen]; if (8==x[qeen]) { while (8==x[qeen]) { x[qeen]=0; qeen--; if(-1==qeen) { cout << "검색에 실패하였습니다."; return 0; } ++x[qeen]; } for(register int i=0; i<8; ++i) for(register int j=0; j<8; ++j) mark[i][j]=0; qeen=0; } } } return 0; }