BOJ)1938 통나무 옮기기
문제: icpc.me/1938 BFS를 이용하여 답을 구해줄 수 있다. 구현이 상당히 귀찮다 ... 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394#include #include #include using namespace std;struct ele { int x, y, z; ele(int x, int y, int z) :x(x), y(y), z(z) {} ele() {}};int dx[] = { 1,-1,0,0,0 };int dy[]..
더보기
BOJ)1063 킹
문제: icpc.me/1063 조건에 맞게 시뮬레이션을 돌려주면 된다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647#include #include #include #include using namespace std;string mov[] = { "R","L","B","T","RT","LT","RB","LB" };string a;int dx[] = { 0,0,-1,1,1,1,-1,-1 };int dy[] = { 1,-1,0,0,1,-1,1,-1 };int n, kx, ky, sx, sy;int chk(int x, int y) { return 1 > n; ky = x[0] - 'A' + 1; kx =..
더보기
BOJ)1999 최대최소
문제: icpc.me/1999 n*n 행렬에 값이 주어져 있을 때 한 지점에서 부터 시작한 b*b 크기의 부분 행렬에서의 최댓값-최솟값을 출력하는 문제이다. 2차원 세그먼트 트리를 이용하면 O(K*NlogN)에 해결할 수 있다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152#include #include #include using namespace std;int n, b, k, minseg[251][250 * 4], maxseg[251][250 * 4], a[251][251];int minupdate(int *tree, int pos, int val, int node, int x,..
더보기