본문 바로가기

Algorithm21

[백준 16985] Maaaaaaaaaze www.acmicpc.net/problem/16985 16985번: Maaaaaaaaaze 첫째 줄부터 25줄에 걸쳐 판이 주어진다. 각 판은 5줄에 걸쳐 주어지며 각 줄에는 5개의 숫자가 빈칸을 사이에 두고 주어진다. 0은 참가자가 들어갈 수 없는 칸, 1은 참가자가 들어갈 수 있는 칸을 www.acmicpc.net #include #include #include using namespace std; #define fastio() ios::sync_with_stdio(0), cin.tie(0), cout.tie(0); // Maaaaaaaaaze struct point { int x; int y; int z; }; const int N = 5; int map[N][N][N]; int temp_map[N.. 2020. 9. 6.
git commit 수정하기 관련 Algorithm 저장소를 새로 만들게 되면서 기존 저장소를 합치고 싶었다... (내 아깝고 소중한 커밋들...) 그러다보니 알게된 명령어들을 가볍게 정리해보려한다. 가장 마지막 commit의 날짜를 변경할 때 git commit --amend --no-edit --date "$(date)" git commit --amend --no-edit --date "Sun 30 Aug 2020 01:39:00 KST" 전자는 오늘 날짜, 현재 시각으로 변경할 때. 아래는 특정 날짜, 시간으로 변경할 때의 명령어 이다. "날짜 시간" 정도로 보면 된다. KST는 한국 기준시간이라는 의미이다. 해당 명령어로 날짜를 변경해서 github 잔디를 채우는 꼼수를 쓸 수도 있긴 하다. 가장 마지막 commit의 저자 aut.. 2020. 8. 30.
[백준 17144] 미세먼지 안녕! https://www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net #include #include #include #include using namespace std; // 미세먼지 안녕! typedef pair point; int R, C, T; vector air_clener; queue que; int map[51][51]; int cur[51][51]; point dir[4] = {{1, 0}, {-1, 0}, {0, 1}, {0, -1}}; int m.. 2020. 8. 24.
[백준 14503] 로봇 청소기 https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net #include #include using namespace std; // 로봇 청소기 typedef pair point; int N, M; point dir[4] = {{-1,0}, {0,1}, {1,0}, {0,-1}}; point back[4] = {{1,0}, {0,-1}, {-1,0}, {0,1}}; int house[51][51]; int answer; int R, C, D; void.. 2020. 8. 23.
[백준 16000] 섬 https://www.acmicpc.net/problem/16000 16000번: 섬 N 개의 줄에 길이 M 의 문자열을 출력하라. 이 중 i 번째 줄의 j 번째 문자는 (i, j) 셀의 상태를 나타내어야 한다. 만약 (i, j) 셀이 바다라면 해당 위치에 '.'을 출력해야 하고, 안전한 섬의 일부 www.acmicpc.net #include #include #include #include #include using namespace std; #define fastio() ios::sync_with_stdio(0), cin.tie(0), cout.tie(0); // 섬 // 모든 가장자리는 바다이다 // 4방향 bfs 탐색으로 이어져있는 섬은 한 섬이다. typedef pair point; int N, .. 2020. 8. 8.
[백준 19236] 청소년 상어 https://www.acmicpc.net/problem/19236 19236번: 청소년 상어 첫째 줄부터 4개의 줄에 각 칸의 들어있는 물고기의 정보가 1번 행부터 순서대로 주어진다. 물고기의 정보는 두 정수 ai, bi로 이루어져 있고, ai는 물고기의 번호, bi는 방향을 의미한다. 방향 bi는 www.acmicpc.net #include using namespace std; #define fastio() ios::sync_with_stdio(0), cin.tie(0), cout.tie(0); // 청소년 상어 struct fish { int r; int c; int direction; bool isAlive; }; typedef pair point; int answer; int map[4][4];.. 2020. 7. 30.
[백준 12025] 장난꾸러기 영훈 https://www.acmicpc.net/problem/12025 12025번: 장난꾸러기 영훈 희현이는 인터넷 ID를 만들 때 주로 쓰는 비밀번호가 있다. 하지만 이 비밀번호는 너무 길어서 희현이는 항상 쪽지에 적어 다니면서 확인을 한다. 하지만 장난꾸러기 영훈이는 이 쪽지를 가져가 www.acmicpc.net #include using namespace std; #define fastio() ios::sync_with_stdio(0), cin.tie(0), cout.tie(0); // 장난꾸러기 영훈 string password; long long k; long long n; int main() { fastio(); cin >> password >> k; n = k - 1; long long cas.. 2020. 7. 26.
[백준 18809] Gaaaaaaaaaarden https://www.acmicpc.net/problem/18809 18809번: Gaaaaaaaaaarden 첫째 줄에 정원의 행의 개수와 열의 개수를 나타내는 N(2 ≤ N ≤ 50)과 M(2 ≤ M ≤ 50), 그리고 초록색 배양액의 개수 G(1 ≤ G ≤ 5)와 빨간색 배양액의 개수 R(1 ≤ R ≤ 5)이 한 칸의 빈칸을 사이에 두 www.acmicpc.net #include #include #include using namespace std; // Gaaaaaaaaaarden // BFS + 조합 백트래킹 (DFS) // 흰색은 배양액 불가. 배양액이 퍼져나갈 수만 있음 // 황토색칸에 배양액을 뿌릴 수 있음 // 초록 + 빨간 배양액이 만나면 꽃이 피어난다 // 모든 배양액은 서로 다른 곳에.. 2020. 7. 5.
[백준 19238] 스타트 택시 https://www.acmicpc.net/problem/19238 19238번: 스타트 택시 첫 줄에 N, M, 그리고 초기 연료의 양이 주어진다. (2 ≤ N ≤ 20, 1 ≤ M ≤ N2, 1 ≤ 초기 연료 ≤ 500,000) 연료는 무한히 많이 담을 수 있기 때문에, 초기 연료의 양을 넘어서 충전될 수도 있다. 다 www.acmicpc.net #include #include #include #include #include using namespace std; #define fastio() ios::sync_with_stdio(0), cin.tie(0), cout.tie(0); // 스타트 택시 typedef pair point; struct passenger { point st; point ed;.. 2020. 6. 20.
[백준 4358] 생태학 https://www.acmicpc.net/problem/4358 4358번: 생태학 문제 생태학에서 나무의 분포도를 측정하는 것은 중요하다. 그러므로 당신은 미국 전역의 나무들이 주어졌을 때, 각 종이 전체에서 몇 %를 차지하는지 구하는 프로그램을 만들어야 한다. 입력 �� www.acmicpc.net #include #include using namespace std; // 생태학 string str; map trees; long tree_count; int main() { // 입력의 끝까지만 실행 while(!cin.eof()) { getline(cin, str); if(str == "") break; trees[str]++; tree_count++; } map::iterator it; // 소수.. 2020. 6. 15.