본문 바로가기

이것저것108

미로찾기 문제 소스 #include const int N = 8;int maze[8][8] = {{ 0, 0, 0, 0, 0, 0, 0, 1 },{ 0, 1, 1, 0, 1, 1, 0, 1 },{ 0, 0, 0, 1, 0, 0, 0, 1 },{ 0, 1, 0, 0, 1, 1, 0, 0 },{ 0, 1, 1, 1, 0, 0, 1, 1 },{ 0, 1, 0, 0, 0, 1, 0, 1 },{ 0, 0, 0, 1, 0, 0, 0, 1 },{ 0, 1, 1, 1, 0, 1, 0, 0 }}; const static int PATHWAY_COLOR = 0;const static int WALL_COLOR = 1;const static int BLOCKED_COLOR = 2;const static int PATH_COLOR = 3; in.. 2017. 10. 31.
nqueen 알고리즘 #include #include int queenArr[16];int N;int cnt = 0; int promising(int level){ for (int i = 1; i < level; i++){//이전에 놓인 퀸과 같은 열에 있을 경우if (queenArr[i] == queenArr[level])return 0;//이전에 놓인 퀸과 같은 대각선에 있을 경우if (abs(i - level) == abs(queenArr[i] - queenArr[level]))return 0;}return 1;} void queen(int level){if (!promising(level)){ //promising 하지 않는다면 종료return;}else if (N == level){//queen을 N개 전부 넣었다면.. 2017. 10. 31.
백준 14499번 주사위굴리기 /*지도 크기 N*M지도 좌표 (r,c), r: 북쪽으로부터, c: 서쪽으로부터 떨어진 칸의 갯수 주사위는 지도 위에 윗 면이 1이고, 동쪽을 바라보는 방향이 3인 상태로 놓여져 있으며, 놓여져 있는 곳의 좌표는 (x, y) 이다. 가장 처음에 주사위에는 모든 면에 0이 적혀져 있다. 지도의 각 칸에는 정수가 하나씩 쓰여져 있다. 주사위를 굴렸을 때, 이동한 칸에 써 있는 수가 0이면, 주사위의 바닥면에 써 있는 수가 칸에 복사된다. 0이 아닌 경우에는 칸에 써 있는 수가 주사위의 바닥면으로 복사되며, 칸에 써 있는 수는 0이 된다. 주사위를 놓은 곳의 좌표와 이동시키는 명령이 주어졌을 때, 주사위가 이동했을 때 마다 상단에 써 있는 값을 구하는 프로그램을 작성하시오. 주사위는 지도의 바깥으로 이동시킬 .. 2017. 10. 18.
c++ topological sort #include #include #include #include #define MAX_N 32000using namespace std;vector vt;stack st;int n, m, x, y, visited[ MAX_N + 1]; void dfs(int v){visited[v] = true;for (auto i : vt[v]) //auto는 변수형을 초기화의 값으로 자동으로 지정해주는 역할{if (visited[i])continue;dfs(i);}st.push(v);} int main(void){scanf("%d %d", &n, &m);vt.resize(n + 1);for (int i = 0; i < m; i++){scanf("%d%d", &x, &y);vt[x].push_back(y); //vect.. 2017. 10. 5.