만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

황금 동전

면접 대비

시간 제한1초메모리 제한1024 MB

요약
장애물이 있는 격자에서 왼쪽 위에서 출발해 아래나 오른쪽으로만 이동할 때 모을 수 있는 금화의 최대 개수를 구합니다.
난이도

쉬움10점 중 3점

유형
행렬, 동적 계획법
정답자
아직 제출이 없습니다

문제

요나스는 전설의 황금 도시 El Dorado를 배경으로 한 컴퓨터 게임을 하고 있다. 황금 도시에서 요나스는 무엇을 할까? 당연히 금을 모은다.

도시 지도는 N×MN \times M 크기의 직사각형이다. 각 칸에는 건물, 길, 또는 황금 동전이 있다. 요나스는 남쪽(지도에서 아래쪽)과 동쪽(지도에서 오른쪽)으로만 움직일 수 있으며, 가능한 한 많은 동전을 모으려 한다.

요나스가 서 있는 칸을 (i,j)(i, j)라고 하자.

  • 칸 (i,j)(i, j)에 황금 동전이 있으면 요나스는 이를 줍는다.
  • 칸 (i+1,j)(i+1, j) 또는 (i,j+1)(i, j+1)이 지도 안에 있고 건물이 없으면 그 칸으로 이동할 수 있다.
  • 더 이상 움직일 수 없으면 게임이 끝난다.

요나스는 도시 지도 전체를 알고 있다. 게임을 (1,1)(1, 1) 칸에서 시작할 때 요나스가 모을 수 있는 동전의 최대 개수를 구하라.

입력

첫 줄에는 도시의 크기를 나타내는 두 정수 NN과 MM이 주어진다.

이어지는 NN개의 줄에는 각각 MM개의 문자 si,js_{i,j} (1≤i≤N1 \le i \le N, 1≤j≤M1 \le j \le M)가 주어진다.

  • si,j=s_{i,j} = .이면 그 칸은 길이다.
  • si,j=s_{i,j} = x이면 그 칸에는 건물이 있다.
  • si,j=s_{i,j} = o이면 그 칸은 길이고, 그 위에 황금 동전이 놓여 있다.

지도의 왼쪽 위 칸 (1,1)(1, 1)에는 건물이 없다.

출력

요나스가 모을 수 있는 황금 동전의 최대 개수를 한 개의 수로 출력하라.

제한

1≤N,M≤5001 \le N, M \le 500

예제1

  1. 예제 1

    입력
    3 4
    ....
    o...
    ox.o
    
    예상 출력
    2