제1회 구름코드챌린지(GCC) 기출 문제
    • 01
      텍스트 코딩 정복
    • 문자열 출력
      사칙연산
      절대값 출력하기
      배열에서의 최소값 구하기
      구구단 출력
      약수 구하기
      부분 문자열
      평균과 평균보다 큰 수
      등차 / 등비 수열
      약수의 합
      유일한 수
      피자 쿠폰
      접미사 배열
      멀티탭 사용
      숫자 찍기
    • 02
      알고리즘 정복
    • 완전수 구하기
      소수 판별
      괄호
      어느 고고학자 이야기
      팰린드롬
      채점하기
      구름컵 사이클 대회
      앞 뒤가 같은 수
      탈출
      섬나라 왕
    • 03
      웹 서비스 만들기
    • 자바스크립트 DOM 제어
      XHR이용하여 Ajax 구현
      PHP서버로 json 응답
    • 04
      GUI 앱 만들기
    • Swing으로 카운터 만들기
      AWT로 메모 입력기 만들기
    • 05
      블록 프로그래밍 정복
    • 탱크 이동하기
      탱크 방향전환
      탱크 여러번 방향전환1
      탱크 여러번 방향전환2
      최적의 길을 찾아가기
    • 06
      블록으로 알고리즘 정복
    • 대포발사
      방향전환
      이동한뒤 대포발사
      십자모양의 길
      복잡한 길 이동하기
    • 07
      로보코드 대전 (블럭)
    • 가만히 있는 적 격파하기
      움직이는 적 격파하기
      공격하는 적 격파하기
      대결1
      대결2
      제한시간 안에 적 격파하기
      2개 로봇 동시에 격파하기
      2개 로봇 동시에 격파하기2
      벽타는 로봇 격파하기
      3개 로봇 동시에 격파하기
    • 08
      로보코드 대전 (코드)
    • 몸풀기
      심화함수
      최대속도, 최대회전각도 바꾸기
      대결1
      대결2
    • 09
      보너스 알고리즘/웹서비스
    • 구름 레이싱
      생화학 무기
      부라노섬
      배열 나누기
      스마트폰 테스트
      Javascript로 jsonp 구현하기
      php로 간단한 RESTful API 만들기
    • 10
      보너스 로보코드 정복
    • 3라운드 다승제 1
      3라운드 다승제 2
      3라운드 다승제 3
      4라운드 점수제 1
      4라운드 점수제 2
      4라운드 점수제 3
    생화학 무기
    배우기
    09 보너스 알고리즘/웹서비스
    생화학 무기
    실습 내용

    전쟁중인 코딩나라의 연구원인 구름이는 생화학 무기 개발을 하느라 실험실에 들어가 있다. 이 실험실은 생화학 무기가 밖으로 반출이 잘 안되게 하기 위해 미로와 같이 설계가 되어있다. 어느날 실험중인 생화학 무기가 폭발하였고, 구름이는 이 실험실에서 생화학무기에 감염되지 않고 탈출을 해야한다. 매 초마다 생화학 무기는 상하좌우 인접한 빈 공간으로 퍼져나간다. 단, 벽을 통과하지는 못한다. 구름이는 상하좌우 인접한 칸으로 1초에 한 칸씩 이동할 수 있으며, 벽을 통과할 수 없고, 생화학 무기와 접촉하면 감염되므로 생화학 무기가 퍼진 칸으로는 이동할 수 없다. 구름이가 있던 칸에 생화학 무기가 퍼짐과 동시에 다른 칸으로 이동할 때는 감염되지 않는다. 이 실험실의 지도가 주어졌을 때, 구름이가 최대한 빠르게 실험실을 탈출할 경우에 걸리는 시간을 구하여라.

    입력

    첫째 줄에는 실험실 지도 너비와 높이 W와 H가 주어진다. (1 ≤ W,H ≤ 1000)

    다음 H개 줄에는 W개의 문자, 실험실의 지도가 주어진다.

    • '-': 빈 공간
    • '#': 벽
    • '*': 구름이의 시작 위치
    • '+': 생화학 무기

    각 지도에 *의 개수는 하나이고, +의 개수는 여러개일 수 있다.

    출력

    실험실을 탈출하는데 걸리는 가장 빠른 시간을 출력한다. 실험실을 탈출할 수 없는 경우에는 -1을 출력한다.

     입출력 형식을 잘 지켜주세요.
    : 공백
    : 줄바꿈
    입력 1
    6 3
    ######
    ##+*--
    ######
    6 3
    ######
    ##+*--
    ######
    출력 1
    3
    3

    입력 2
    5 6
    ###-#
    #---#
    #*#-#
    #-#-#
    #-+-#
    ###-#
    5 6
    ###-#
    #---#
    #*#-#
    #-#-#
    #-+-#
    ###-#
    출력 2
    5
    5

    입력 3
    5 3
    #####
    ##*##
    #####
    5 3
    #####
    ##*##
    #####
    출력 3
    -1
    -1

    입력 4
    3 3
    +++
    +*+
    +++
    3 3
    +++
    +*+
    +++
    출력 4
    -1
    -1

    질문하기