Challenge
Careers
Class
Connect
로그인 후 문제풀이가 가능합니다.
정답 기준을 변경해주세요.
3 1 1 100 1 1 1 1 1 100 1 2 2 위의 테스트 케이스를 실행할 때 201이 정답으로 나와야합니다. (2,2) -> (1,2) -> (2,2) -> (3,2) 의 순서로 이동해야 최대 양의 열매를 수확할 수 있는데 visited 배열을 통해 단순히 도착했던 나무를 방문하지 않는다는 조건으로 문제를 해결하여 103으로 실행결과가 나와도 통과합니다.
파이썬 이렇게 풀면 왜 틀리나요?
from collections import deque n, m = map(int, input().split()) farm = [] for i in range(n): farm.append(list(map(int, input().split()))) positions = [] for i in range(m): x, y = map(int, input().split()) positions.append([x - 1, y - 1]) dx = [-1, 0, 1, 0] dy = [0, 1, 0, -1] seconds = 3 def max_bfs(positions, farm): sec_3 = [] for i in positions: sec_3_i = [] queue = deque() queue.append([i, 0, farm[i[0]][i[1]]]) w...
C언어 코드 어딜 고쳐야 할지 감이 안와요,, 4시간 붙잡고 있었어요,,,
#include <stdio.h> #define MAX_N 10 int N, M; int board[MAX_N][MAX_N]; long long max_harvest = 0; void dfs(int x, int y, int step, long long sum, int visited[MAX_N][MAX_N]) { // 종료 조건: 3번 이동하면 종료 if (step == 3) { printf("%d ",sum); //if(max_harvest > sum) visited[nx][ny]=0; max_harvest = max_harvest > sum ? max_harvest : sum; // 최대값 갱신 return; } // 상하좌우 이동을 모두 시도 int dx[] = {-1, 1, 0, 0}; int dy[] = {0, 0, -1, 1}; for (int d = 0; d < 4; d++) { int nx = x + dx[d]; int ny = y + dy[d]; // 새로운 위치...
테케 3번만 틀림
테스트케이스 3번만 틀렸다고 뜨는데 어떻게 해결해야할까요,,