Challenge
Careers
Class
Connect
로그인 후 문제풀이가 가능합니다.
JS
비 오고 사람이 움직여야 4번 통과되고 5, 7번 틀리던 거는 조건문 손봤더니, 왜 갑자기 맞았는지는 모르겠는데 맞았습니다. const fs = require('fs'); const input = fs.readFileSync('input.txt', 'utf8').trim().split(/\n+/); const [R, C] = input[0].split(/\s+/).map(Number); let position = [] let rainPosition = [] const canMove = 0b1 const moved = 0b10 const rained = 0b100 const river = 0b1000 const home = 0b10000 // 1 -> 이동 가능 // 10 -> 지나감 // 100 -> 비 // 1000 -> 강 // 10000 -> 집 const map = input.slice(1).map((line...
GINI야 도와줘 반례 부탁드립니다. (javascript)
태케 no 3, 5에서 계속 틀리는데, 잘못된 부분을 못찾겠습니다ㅠ const fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString().trim().split('\n'); let [rc, ...rest] = input; const [r, c] = rc.split(' ').map(Number); const map = rest.map(v => v.split('')); function solution(r, c, map){ let home; let now = []; const rain = []; let visited = Array.from(Array(r), () => Array(c).fill(false)); let dist = Array.from(Array(r), () => Array(c).fill(-1)); for(let i = 0...
[GINI야 도와줘] 문제에 대한 개인적인 생각
문제를 풀며 들었던 개인적인 생각입니다. 문제에 '태범이는 소나기와 강을 지나지 못하며, 소나기는 강과 태범이의 집에 옮겨지지 않는다.(소나기는 강으로 가면 소멸)' 부분이 있습니다. 저는 처음 문제를 읽고 '강쪽으로는 비가 퍼지지 않지만, 집으로는 퍼질 수 있다.' 로 이해했습니다. 이 말은 집에는 비가 옮겨지지 않지만, 집 위에는 비구름이 존재해 시간이 지난 후에 계속 퍼질 수 있다는 뜻입니다. 예를 들면, . . . H . * -> . . . H * * -> . . . H * * (H위에 비구름 존재) -> . . * H * * -> . * * H * * 하지만, 이 방법으로 제출하면 틀리더라구요. 집도 강처럼 비가 퍼질 수 없게 설정해놔야 맞을 수 있었습니다. 제가 생각한 방법이 문제에서 제시한 조건과 맞다고 생각하는데 어떻게 생각하시나요??? 혹시 몰라 코드도 올려놓겠습니다. 자유롭게 말씀 부탁드리겠습니다! #include #include #include #...
[GINI야 도와줘] 반례 부탁드리겠습니다..
import sys input=sys.stdin.readline from collections import deque ''' 지도는 R행과 C열. 비어있는 칸은 ‘.’로 표시, 소나기는 ‘*’로, 강은 ‘X’로 표시. 태범이의 집은 ‘H’로 표현, 태범이가 처음있던 세차장의 위치는 ‘W’로 표시. 매 분마다 태범이는 인접한 네 개의 칸(상, 하, 좌, 우)으로 이동할 수 있다. 소나기는 매 분마다 인접한 네 개의 칸(상, 하, 좌, 우)으로 확산한다. 태범이는 소나기와 강을 지나지 못하며, 소나기는 강과 태범이의 집에 옮겨지지 않는다. (소나기는 강으로 가면 소멸) ''' # 시간에 따른 소나기 확산 def timerain(maps): rainlist=[] # 현재 소나기가 존재하는 좌표를 담은 rainlist for j in range(R): for i in range(C): ...
[GINI야 도와줘] 반례 부탁드립니다!
import sys from collections import deque def shower(): # 소나기 이동 global rain tmp = [] for x, y in rain: for i in range(4): nx = x + dx[i] ny = y + dy[i] if 0 <= nx < R and 0 <= ny < C: if map[nx][ny] == ".": map[nx][ny] = "*" tmp.append((nx,ny)) rain = list(set(rain+tmp)) # 소나기가 전파된 위치 추가 set을 이용해 중복되는 좌표는 제거 return def bfs(x,y): visit[x][y] = T...
GINI야 부탁해 5번..ㅠㅠㅠ
안녕하세요. 매번 GINI 5번에서만 오답이 나옵니다. 이유를 모르겠습니다. 도움 요청드립니다. import java.util.*; import java.io.*; public class Main { static int R, C; static boolean[][] rainCAN, isVisited; static LinkedList rain; static int[][] map; static Pair src, des; public static void main(String[] args) throws Exception { // TODO Auto-generated method stub BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); R = Integ...
GINI야 도와줘 반례 부탁드립니다.
import sys r,c = map(int, sys.stdin.readline().split()) Map = [] for i in range(r): row = list(sys.stdin.readline().strip()) Map.append(row) if 'H' in row: h = (i,row.index('H')) if '*' in row: r_stack = [(i,row.index('*'))] if 'W' in row: w_stack = [(i,row.index('W'))] cnt = 0 tmp = [] while True: # 소나기 위치이동 for R in r_stack: for a,b in [[1,0],[-1,0],[0,1],[0,-1]]: if 0<= R[0]+a 테스트 케이스중 3,5번은 오답...
GINI야 도와줘 - 문제 조건 추가 요청
오랜 시간에 걸쳐 확인한 결과로, 아래 내용 검토 및 문제 조건 추가 요청을 드립니다. 현재 문제에 "매 분마다 태범이 이동과 소나기 확산" 으로 명시가 되어있는데요, 여기서 소나기 확산이 먼저인지 태범이 이동인지를 먼저인지에 따라 test case No.5의 정답/오답 처리 여부가 달라집니다. 그 외 tase case에서는 태범이 이동과 소나기 확산 처리 선후와 관계 없이 로직이 맞으면 통과됩니다. 매 분마다 태범이 이동과 소나기 확산은 동일 cycle에 처리 할 수 있지만, 동일 cycle 내에서도 둘 중(태범이 이동 vs 소나기 확산) 하나의 로직이 먼저 처리되도록 구현해야합니다. 따라서 문제에 태범이 이동과 소나기 확산의 처리 선후 기준 명시가 필요하겠습니다.
GINI야 도와줘 - 문제 정정 요청
안녕하세요, 매우 오랜 시간의 삽질 끝에 문제 설명 중 일부 수정 되어야 할 것으로 보여 의견 드립니다. (심지어 본 게시판 앞쪽, 타 질의글 통해 알게 된 내용입니다.) 현재) 매 분마다 태범이는 인접한 네 개의 칸(상, 하, 좌, 우)으로 이동할 수 있다. 마찬가지로 소나기도 매 분마다 인접한 네 개의 칸(상, 하, 좌, 우)로 움직인다. 개선) 태범이가 4개의 방향 벡터로 1칸씩 이동하는데에는 이견 없습니다. 하지만, 문제를 읽어보면 소나기는 태범이와 '마찬가지로' 움직인다고 되어 있는데, 실제 정답을 얻기 위해서는 소나기는 한칸씩 움직이는 것이 아닌 '확산'의 개념을 적용해야 합니다. 이는 코드 상에서 부등호의 조건을 변경할 매우 중요한 차이를 기인하므로, 해당 내용 감안하여 문제 정정 요청드립니다. if rain_visited[ nx][ ny] > - 1 and rain_visited[ nx][ ny] == new_time: continue if rain_visited...
GINI야 도와줘 반례 부탁드립니다
import java.util.*; import java.io.*; class Point{ int x,y; public Point(int x,int y){ this.x=x; this.y=y; } } public class Main { static int R, C, startX,startY,destY,destX; static char[][] map; static int time=0; public static void main(String args[]) { inputProcessing(); Queue q= new LinkedList<>(); Point p=new Point(startX,startY); boolean[][] visited=new boolean[R][C]; visi...