https://www.acmicpc.net/problem/17528 17528번: Two Machines 문제 스케줄링 최적화 회사인 SOPT 에 완료해야 할 n개의 작업 t1, t2, ..., tn 이 있다. SOPT 회사는 두 대의 머신 A 와 B 를 보유하고 있다. 각 작업 ti를 완료하기 위해 SOPT 는 머신 A 와 B 둘 중에 오직 하나를 선택할 수 있다. 작업 ti를 완료하기 위해 머신 A를 선택하면 ai시간이 걸리고 머신 B를 선택하면 bi 시간이 걸린다. 각 머신은 어느 순간에 최대 하나의 작업만 수행할 수 있으며, 한 작업이 시작되면 그 작 www.acmicpc.net 문제 스케줄링 최적화 회사인 SOPT 에 완료해야 할 n개의 작업 t1, t2, ..., tn 이 있다. SOPT 회사..
https://www.acmicpc.net/problem/17135 17135번: 캐슬 디펜스 첫째 줄에 격자판 행의 수 N, 열의 수 M, 궁수의 공격 거리 제한 D가 주어진다. 둘째 줄부터 N개의 줄에는 격자판의 상태가 주어진다. 0은 빈 칸, 1은 적이 있는 칸이다. www.acmicpc.net 문제 캐슬 디펜스는 성을 향해 몰려오는 적을 잡는 턴 방식의 게임이다. 게임이 진행되는 곳은 크기가 N×M인 격자판으로 나타낼 수 있다. 격자판은 1×1 크기의 칸으로 나누어져 있고, 각 칸에 포함된 적의 수는 최대 하나이다. 격자판의 N번행의 바로 아래(N+1번 행)의 모든 칸에는 성이 있다. 성을 적에게서 지키기 위해 궁수 3명을 배치하려고 한다. 궁수는 성이 있는 칸에 배치할 수 있고, 하나의 칸에는 ..
#include #include using namespace std; const int INF = 987654321; const int MAX_N = 200; const int MAX_K = 30; int visited[MAX_K + 1][MAX_N + 1][MAX_N + 1] = { 0, }; int board[MAX_N + 1][MAX_N + 1]; int N, M; int jumpY[8] = { -2,-2,-1,-1,1,1,2,2 }; int jumpX[8] = { -1,1,-2,2,-2,2,-1,1 }; int goY[4] = { 1,-1,0,0 }; int goX[4] = { 0,0,1,-1 }; bool can_go(int y, int x) { if (y N || xM) ret..
#include #include #include #include using namespace std; const int MAX_N = 1500; int N, M; //누적합보다 메모리가 2배 더소요됨 다음에 재풀이할때는 누적합 방식을 사용할것.. int cache[MAX_N + 1][MAX_N + 1]; int cacheY[MAX_N + 1][MAX_N + 1]; int cacheX[MAX_N + 1][MAX_N + 1]; //string 2차원 배열로 선언 string arr[MAX_N + 1][MAX_N + 1]; int goY[3] = { 1,1,0 }; int goX[3] = { 1,0,1 }; bool isinmap(int y, int x) { if (yN || xM) return false; ..