백준 :: BOJ :: 17837 :: 새로운 게임 2 출처 : https://www.acmicpc.net/problem/17837 17837번: 새로운 게임 2 재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행되고, 사용하는 말의 개수는 K개이다. 말은 원판모양이고, 하나의 말 위에 다른 말을 올릴 수 있다. 체스판의 각 칸은 흰색, 빨간색, 파란색 중 하나로 색칠되어있다. 게임은 체스판 위에 말 K개를 놓고 시작한다. 말은 1번부터 K번까지 번호가 매겨져 있고, 이동 방향도 미리 정해져 있다. 이동 방향은 위, 아래, 왼쪽, 오른쪽 www.acmicpc.net #include using namespace std; #defi..
백준 :: BOJ :: 17779 :: 게리맨더링 2 출처 : https://www.acmicpc.net/problem/17779 17779번: 게리맨더링 2 재현시의 시장 구재현은 지난 몇 년간 게리맨더링을 통해서 자신의 당에게 유리하게 선거구를 획정했다. 견제할 권력이 없어진 구재현은 권력을 매우 부당하게 행사했고, 심지어는 시의 이름도 재현시로 변경했다. 이번 선거에서는 최대한 공평하게 선거구를 획정하려고 한다. 재현시는 크기가 N×N인 격자로 나타낼 수 있다. 격자의 각 칸은 구역을 의미하고, r행 c열에 있는 구역은 (r, c)로 나타낼 수 있다. 구역을 다섯 개의 선거구로 나눠야 하고, 각 구역은 다 www.acmicpc.net #include using namespace std; #defin..
백준 :: BOJ :: 17142 :: 연구소 3 출처 : https://www.acmicpc.net/problem/17142 17142번: 연구소 3 인체에 치명적인 바이러스를 연구하던 연구소에 승원이가 침입했고, 바이러스를 유출하려고 한다. 바이러스는 활성 상태와 비활성 상태가 있다. 가장 처음에 모든 바이러스는 비활성 상태이고, 활성 상태인 바이러스는 상하좌우로 인접한 모든 빈 칸으로 동시에 복제되며, 1초가 걸린다. 승원이는 연구소의 바이러스 M개를 활성 상태로 변경하려고 한다. 연구소는 크기가 N×N인 정사각형으로 나타낼 수 있으며, 정사각형은 1×1 크기의 정사각형으로 나누어져 있다. 연구소는 www.acmicpc.net #include using namespace std; #define F(..
백준 :: BOJ :: 17140 :: 이차원 배열과 연산 출처 : https://www.acmicpc.net/problem/17140 17140번: 이차원 배열과 연산 첫째 줄에 r, c, k가 주어진다. (1 ≤ r, c, k ≤ 100) 둘째 줄부터 3개의 줄에 배열 A에 들어있는 수가 주어진다. 배열 A에 들어있는 수는 100보다 작거나 같은 자연수이다. www.acmicpc.net #include using namespace std; #define F(p,q,z) for(int p=q; p= M) { if (!A[i][j]) continue; s1.insert(A[i][j]); s2.insert(A[i][j]); A[i][j] = 0;} else {if (!A[j][i]) continue; s1..
백준 :: BOJ :: 17143 :: 낚시왕 출처 : https://www.acmicpc.net/problem/17143 #include using namespace std; #define FO(x,y) for(x=0; x 0 && tm (c - 1)) v[a].d = cd[v[a].d]; } } return (tm > (c - 1) ? ((c - 1) * 2) - tm : tm); } int main() { ios::sync_with_stdio(false); cin.tie(0); cin >> R >> C >> M; F f; while (M--) { cin >> f.r >> f.c >..
1. 게리맨더링 2 (백준17779)문제를 푸는 방법이 여러가지가 있을 수 있다고 생각합니다.모든 방법이 일단 문제에서 중간 지역을 만드는 모든 경우를 모두 계산해주어야 합니다. 중간지역의 꼭지점 중 가장 위를 0번, 가장 위에서 왼쪽 밑을 1번, 가장 위에서 오른쪽 밑을 2번, 가장 밑을 3번 이라고 부르겠습니다.여기서 핵심은 0번을 기준으로 1번과 2번만 찾으면 됩니다. ( 0번에서 1번 + 2번이 3번이기 때문입니다. 마름모 공식? )그래서 0번을 기준으로 1번의 경우의 수와 2번의 경우의 수를 조합하면 모든 경우가 나오고 이때 전체 범위안에 들면 다음 계산(최대최소찾기)을 하면됩니다. 1번과 2번 꼭지점을 지정했다고 가정하고 계산을 하는데 총 5개 구역의 값을 찾아야합니다.이때 이중 for문으로 ..
백준 :: BOJ :: 3190 :: 뱀 출처 : https://www.acmicpc.net/problem/3190 #include using namespace std; int N, K, L, ti, tj, dd, ans, m[101][101];int di[] = {0,1,0,-1}, dj[] = {1,0,-1,0};deque dq, r; inline bool chk(int i, int j) { return (i>0&&j>0&&i N >> K; dq.push_back(make_pair(1, 1)); m[1][1] = -1; dd = 0;while (K--) {cin >> ti >> tj; m[ti][tj] = 1;}cin >> L;while (L--) {char c; cin >> ti >> c;if (c..
백준 :: BOJ :: 16235 :: 나무 재테크 출처 : https://www.acmicpc.net/problem/16235 #include using namespace std; struct Tr {int i, j, a;bool operator 0 && j > 0 && i > M >> K;for (int i = 1; i A[i][j]; arr[i][j] = 5;}while (M--) {Tr tmp; cin >> tmp.i >> tmp.j >> tmp.a;v.push_back(tmp);}while (K--) {year();}cout
백준 :: BOJ :: 16234 :: 인구 이동 출처 : https://www.acmicpc.net/problem/16234 #include using namespace std; struct A { int a, b; };int N, L, R, f, sum, ans,arr[50][50], dir[4][2] = { {0,1},{0,-1},{1,0},{-1,0} };bool vi[50][50];queue q; vector v; inline bool check(int i, int j) { return (i >= 0 && j >= 0 && i = L && abs(a -..
- Total
- Today
- Yesterday
- 17143
- DP
- 팁
- hackerrank
- 2018 카카오 블라인드 채용
- DFS
- 입출력
- 삼성
- 미세먼지 안녕!
- 알고리즘
- boj
- 2018 KAKAO BLIND RECRUITMENT
- 17779
- 17144
- SW Expert Academy
- 시간 복잡도
- 이차원 배열과 연산
- string
- 연구소 3
- 백준
- 17140
- 17837
- SWEA
- scanf
- 17142
- 게리맨더링 2
- 새로운 게임 2
- 역량 테스트
- 트렌드
- STL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |