본문 바로가기

ALGORITHM

(71)
14889 스타트와 링크 시간 초과가 왜 나지 고민하다가 팀원 능력치 더하는 부분을 바꿔봤는데도 시간 초과 아예 재귀 부분 for문에서 시간 초과가 나는듯해서 for문의 시작 지점을 현재 멤버로 교체해서 통과 굳이 똑같은 부분을 반복하고 있었다.. #include #include using namespace std; int N, S[21][21], team[21], minStats = 1000000, teamStats1, teamStats2; void subStats() { teamStats1 = 0; teamStats2 = 0; for (int i=0; i j) { S[j][i] += S[i][j]; } } } backtracking(0, 0); cout
9663 N-Queen 이전에 풀었을 때 코드를 보니 이차원배열을 다 확인해서 시간이 일차원배열로 풀었을 때보다 두배나 더들었다. 전체 코드 #include using namespace std; int N, cnt; int board[15]; bool isSetQueen(int row) { for (int i=0; i N; setQueen(0); cout n; cout
15649 N과 M (1) 백트래킹 기본기본문제 #include #include using namespace std; int N, M; int arr[9]; bool visit[9]; void backtracking(int cnt) { if (cnt == M) { for (int i=0; i
2231 분해합, 7568 덩치, 1018 체스판 다시칠하기, 1436 영화감독 숌 단계별로 풀기 - 브루트포스 규칙을 찾지 않아도 되는 편안함..? 2231 분해합 #include #include #include #include using namespace std; int main(int argc, const char * argv[]) { int N; cin >> N; for (int i=1; i
2156 포도주 시식 https://www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net 점화식을 찾자 찾은 경우의 수는 세가지 각각 dp[i-3] + drink[i-1] + drink[i]; dp[i-2] + drink[i]; dp[i-1]; 세가지 중 가장 큰 값이 정답이 된다. 전체코드 #include #include using namespace std; int n, drink[10001], dp[10001], max_drink = 0; int main(int argc, const..
9095 1, 2, 3 더하기 https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net DP와 친해지고자 풀었는데 예전에 풀었던 문제였다. DP에 대해 아는 것이라곤 점화식을 구하는 것 뿐.. 화이팅! #include #include using namespace std; int T, n, dp[11]; int main(int argc, const char * argv[]) { dp[1] = 1; dp[2] = 2; dp[3] = 4; for (int i=4; i> T; while(T--) { cin >> n; cout
17266 어두운 굴다리 https://www.acmicpc.net/problem/17266 17266번: 어두운 굴다리 인하대학교 후문 뒤쪽에는 어두운 굴다리가 있다. 겁쟁이 상빈이는 길이 조금이라도 어둡다면 가지 않는다. 따라서 굴다리로 가면 최단거리로 집까지 갈수 있지만, 굴다리는 어둡기 때문에 빙 www.acmicpc.net 혹시나 디피 문제일까 혼자 뻘짓하다가 아닌 것을 깨닫고 뻘쭘해하다가 푼 문제 정수로 답이 나와야해서 올림함수를 가져다 썼는데 뭔지 또 까먹어서 검색 😂 올림 : ceil 반올림 : round 내림 : trunc 전체 코드 #include #include using namespace std; double lamp_position[1000001]; int main(int argc, const char *..
17267 상남자 https://www.acmicpc.net/problem/17267 17267번: 상남자 CTP의 대표 상남자 영조는 자유롭게 이동하는 것을 좋아한다. 그렇지만 영조는 상남자이기 때문에 위아래로만 간다. 따라서 위, 아래로는 얼마든지 이동할 수 있지만 왼쪽, 오른쪽으로는 이동하 www.acmicpc.net 처음에는 BFS로 단순히 탐색해서 예제가 다 맞길래 제출해봤더니 틀렸습니다! 문제점이 세가지 있었다. 첫번째는 queue가 아닌 deque로 풀어야 한다는 것. 두번째는 오른쪽 왼쪽으로 갈 때 원래의 점 정보의 L, R 값을 함부로 줄이면 안된다는 점 마지막으로 x, y 방향 문제 (이건 아직도 헷갈린다 디버깅해서 겨우 적응) 첫번째 문제는 https://www.acmicpc.net/board/view..