일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 코드트리빵
- ARM
- 나무박멸
- 슈퍼컴퓨터클러스터
- BFS
- ISER
- 코드트리
- 소프티어
- 시뮬레이션
- DP
- DenseDepth
- ros
- Calibration
- 싸움땅
- 마이크로프로세서
- 수영대회결승전
- 조합
- 순서대로방문하기
- dfs
- 이진탐색
- 루돌프의반란
- ICER
- 삼성기출
- 토끼와 경주
- 마법의숲탐색
- 포탑부수기
- 3Dreconstruction
- 백준
- 구현
- 왕실의기사대결
- Today
- Total
목록전체 글 (99)
from palette import colorful_colors
https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감 www.acmicpc.net 언어: C++, 시간: 12ms 완전탐색으로 재귀 돌면서 모두 체크하기! CCTV별 방향은 따로 2중 벡터 배열로 만들어서 코드 수와 실수를 줄이도록 유도했다. #define _CRT_SECURE_NO_WARNINGS #include #include #include using namespace std; struct Node { int y; int x; }; struct cctv{ int..
만약 등산로를 깎는 경우, 전역 MAP을 썼다면 복구시켜야 하는 백트래킹 문제! 깎았는지 / 안 깎았는지 여부를 재귀함수 매개변수에 추가로 넣어준다 #define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include using namespace std; int T, N, K, maxNumber, answer; int MAP[9][9]; int visited[9][9]; int dy[4] = { -1, 1, 0, 0 }; int dx[4] = { 0, 0, -1, 1 }; struct Node{ int y; int x; }; vector startPoint; void init() { memset(MAP, 0, sizeof(MAP)); m..
가지치기를 2번 해줘야 한다 // 최악의 케이스 경우도 int를 넘지는 않음. (1억 8천 회). 단 1초는 넘음(1억회 이상이니깐) // 처음엔 순열 다 만들고 각 경우마다 테스트할랬는데 20에서 시간초과 // -> 순열 만들면서 동시에 판단하기 // 가지치기 2개 #define _CRT_SECURE_NO_WARNINGS #include #include #include #include using namespace std; int T, N, answer, totalWeight; int choo[10]; int visited[10];// 순열 만들기 위한 체크 함수 //int factorial[] = {0, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880};이거 써봤자 의미 거..
구조체 사용, sort를 이용한 벡터 정렬 사용 BFS, 정렬 연습에 좋은 문제! #include #include #include #include #include using namespace std; int N, startY, startX; int MAP[21][21]; int visited[21][21]; int dy[4] = { -1, 1, 0, 0 }; int dx[4] = { 0, 0, 1, -1 }; int babyShark = 2; int mapTime, feedCnt; struct fish { int dist; int y; int x; }; struct Node { int y; int x; }; bool compare(fish a, fish b) {// 나중에 fishes 벡터를 정렬하기 위..
3차원 벡터를 이용해 풀었다. 생각해보니 벡터를 요소로 가지는 2차원 배열로 풀어도 될 것 같 #define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include using namespace std; int dy[4] = { -1, 1, 0, 0 }; // 상하좌우 int dx[4] = { 0, 0, -1, 1 }; int changeDir[4] = { 1, 0, 3, 2 }; // 해당 위치에 들어갔을때 방향 바꿔주는 함수 ex) 0 -> 1 int T, N, M, K, curTime, answer; struct Node { int y; int x; }; struct microbe { int population; int directi..
주어진대로 침착하게 구현만 하면 해결되는 문제! 딱히 알고리즘이 필요없는 쌩구현, 시뮬레이션 문제 #include #include using namespace std; int N, M; int dx[4] = {-1, 0, 1, 0}; int dy[4] = {0, 1, 0, -1}; int MAP[50][50]; int cnt; int curR, curC, direction; // 반시계 방향으로 value만큼 방향 변환 int directionChange(int direction, int value) { int temp = direction - value; if (temp < 0) temp += 4; return temp; } // 주변 4칸 중 먼지 찾기 함수 bool dustFind(int row, ..
시계방향 rotation 구현을 생각해내느라 헤맸다. 다행히 예제만 맞으면 무난하게 통과가 가능한 문제인 것 같다,,? 구현 방법은 주석 참고 #include #include #include using namespace std; int N, answer; int MAP[101][101]; int dx[4] = { 1, 0, -1, 0 }; int dy[4] = { 0, -1, 0, 1 }; struct coordinate { int x; int y; }; coordinate rotate(int baseX, int baseY, int x, int y) { coordinate newCool; int gapX = x - baseX; int gapY = y - baseY; newCool.y = baseY + g..
초기화 잘 하기, BFS로 탐색 잘 하기! #define _CRT_SECURE_NO_WARNINGS #include #include #include #include using namespace std; int T, N, W, H; vector MAP; int dy[4] = {-1, 1, 0, 0}; int dx[4] = {0, 0, -1, 1}; int cnt; int maxBroken; int curbrokenNum; //int curMAP[16][13]; struct Node{ int y; int x; int num; }; void init() { cnt = 0; maxBroken = 0; MAP.clear(); } void input() { cin >> N >> W >> H; MAP.resize(H..