목록전체 글 (217)
Study hard
[문제] swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV4yLUiKDUoDFAUx&categoryId=AV4yLUiKDUoDFAUx&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com [풀이] bfs를 사용해서 풀었다. 각 명령어마다 수행할 일을 if문으로 구현했다. visited배열을 사용하여 같은 루트는 가지 않도록 했다. #include #include #include //memset using namespace std; struct Pos { int x, y; int d;//방향 int m;//메..
[문제] swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15QRX6APsCFAYD&categoryId=AV15QRX6APsCFAYD&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com [풀이] dfs를 사용하면 시간 초과가 뜬다. bfs를 사용하여 (N-1,N-1)에 도달하면 가장 짧은 복구시간을 갱신하여 그 다음 부터 최소 복구시간보다 초과되는 경로는 잘라주며 탐색하였다. #include #include //memset #include #include using namespace std; struct ..
[문제] swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWHPkqBqAEsDFAUn&categoryId=AWHPkqBqAEsDFAUn&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com [풀이] 처음엔 set을 써서 dfs로 조합을 구하는 방식으로 풀려고 했지만 시간 초과가 떴다. 그래서 for문만 써서 아직 나오지 않은 점수만 vector에 넣는 방식으로 풀었다. #include #include #include //memset using namespace std; bool check[10001]; int..
[문제] swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV7I5fgqEogDFAXB SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com [풀이] dfs로 풀 수 있는 문제 중복을 피하기 위해 set을 사용하였다. 0부터 시작하는 숫자도 세야 하므로 자료형으로 string을 사용하였다. #include #include #include using namespace std; int T; char Map[4][4]; const int dx[] = { -1,1,0,0 }; const int dy[] = { 0,0,-1,1 }; sets; void..

www.acmicpc.net/problem/15591 15591번: MooTube (Silver) 농부 존은 1번 동영상과 2번 동영상이 USADO 3을 가지고, 2번 동영상과 3번 동영상이 USADO 2를 가지고, 2번 동영상과 4번 동영상이 USADO 4를 가진다고 했다. 이것에 기반해서 1번 동영상과 3번 동영상의 www.acmicpc.net [풀이] bfs를 사용하여 USADO가 k이상인 비디오의 개수를 세 주었다. ※query마다 visited배열을 false로 초기화해야한다. #include #include #include using namespace std; struct Video { int v; int USADO; }; int N, Q; int p, q, r; vectorMoo[5001];..

www.acmicpc.net/problem/2163 2163번: 초콜릿 자르기 정화는 N×M 크기의 초콜릿을 하나 가지고 있다. 초콜릿은 금이 가 있는 모양을 하고 있으며, 그 금에 의해 N×M개의 조각으로 나눠질 수 있다. 초콜릿의 크기가 너무 크다고 생각한 그녀는 초콜릿� www.acmicpc.net [풀이] DP로 풀 수 있다. 먼저 세로로 N번 자르고 각각 조각마다 M번씩 자른다. 점화식 DP[i] = DP[i-1] + N #include using namespace std; int N, M; int DP[301]; void solution() { DP[0] = N - 1;//처음에 세로로 N-1번 자름 for (int i = 1; i < M; i++) DP[i] = DP[i - 1] + N;//..