https://www.acmicpc.net/problem/9466 9466번: 텀 프로젝트이번 가을학기에 '문제 해결' 강의를 신청한 학생들은 텀 프로젝트를 수행해야 한다. 프로젝트 팀원 수에는 제한이 없다. 심지어 모든 학생들이 동일한 팀의 팀원인 경우와 같이 한 팀만 있을www.acmicpc.net깊이 우선 탐색 문제이다. n번돌리면서 1번친구가 속할 곳이있는지...n번친구가 속할 곳이있는지 다 계산하면 시간 초과가 난다. 따라서 일반적인 dfs로 하면 안되고 한번이라도 팀계산에 참여했으면 방문했다고 기록해야한다.문제의 주어진 값들을 다 받는다. 방문을 했는지 기록할 visit배열을 만들어 준다.n만큼 반복하면서 만약 n이 방문한 곳이 아니라면 n을 방문했다고 표시하고 n이 선택한 사람을 dfs인자로..
https://www.acmicpc.net/problem/6593 6593번: 상범 빌딩당신은 상범 빌딩에 갇히고 말았다. 여기서 탈출하는 가장 빠른 길은 무엇일까? 상범 빌딩은 각 변의 길이가 1인 정육면체(단위 정육면체)로 이루어져있다. 각 정육면체는 금으로 이루어져 있어www.acmicpc.net너비 우선 탐색 문제이다. 값을 받을때 중간에 빈칸이 들어간다는걸 계산안해서 index에러가 계속 나왔다 조심이것만 조심하면 문제는 매우 간단하다.빌딩의 공간의 정보를 표시할 3차원 배열을 만들어서 관리한다.6가지 방향으로 움직일 수 있도록move = [[1,0,0],[-1,0,0],[0,1,0],[0,-1,0],[0,0,-1],[0,0,1]] 배열을 만든다bfs를 몇번 실행했는지 기록할 minutes를 만..
https://www.acmicpc.net/problem/4179 4179번: 불!입력의 첫째 줄에는 공백으로 구분된 두 정수 R과 C가 주어진다. 단, 1 ≤ R, C ≤ 1000 이다. R은 미로 행의 개수, C는 열의 개수이다. 다음 입력으로 R줄동안 각각의 미로 행이 주어진다. 각각의 문자www.acmicpc.net너비 우선 탐색 문제이다. 배열에 있는 위치들을 다 움직인후 새로운 배열을 통해 다시 재귀함수한다.지훈이들의 위치를 저장할 배열 J, 불들의 위치를 저장할 F 배열을 만들어 관리한다.board에 지훈이가 지나간 위치 불들의 위치를 기록한다.bfs를 몇번 실행했는지 기록할 count를 만들어준다. 실행될때마다 count에 1을 추가한다.문제의 주어진 값들을 다 받는다. 지훈이의 위치를 J..
https://www.acmicpc.net/problem/14499 14499번: 주사위 굴리기첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x, y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지www.acmicpc.net구현 시뮬레이션 문제이다. x를 y축으로 y를 x축 주사위 출발값으로 줘서 해맸다. 조심문제랑 똑같은 방식으로 주사위 모양 자료구조를 만든다. 문제의 그림을 토대로 설명하겠다.ydice에는 2,1,5,6 xdice에는 4,1,2를 저장한다.아래로 돌경우 ydice의 맨 뒷값(아래 있는값)을 빼고 ydice에 맨 앞값(북쪽 방향에 있는 값..
https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴www.acmicpc.net구현 시뮬레이션 문제이다.톱니를 구현할 배열을 deque를 사용해 만든다.톱니의 index 0은 12시방향,index 3는 3시 방향,index 6은 9시 방향이다.톱니가 시계 방향 즉 1로 회전한다면 큐의 마지막을 빼서 왼쪽에 넣는다.톱니가 반시계 방향 즉 -1로 회전한다면 큐의 왼쪽을 빼서 마지막에 넣는다.어떤 톱니가 어느 방향으로 회전하는지 값을 받는다기존 톱니의 6번index는 left에 2..
https://www.acmicpc.net/problem/3190 3190번: 뱀'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임www.acmicpc.net구현 시뮬레이션 + queue를 사용하는 문제이다. 뱀이 현제 어디 있는지 2차원 배열에 기록해서 뱀이 몸통에 충돌하는지 계산하고 뱀의 머리부터 몸통, 꼬리의 위치를 기록해서 시간이 지날때마다 뱀이 이동하도록 해야한다.2차원 배열에 뱀은 1로 사과는 2로 저장한다.뱀의 머리와 꼬리는 배열로 저장하는데 이때 머리부터 꼬리의 값을 계속 변경해주면 시간이 너무 걸리니 새로 이동하는 좌표를 배열의 머리로 넣어주고 배..