본문 바로가기

Solutions/Dlbo's Solution

PKU 1050. To the max. get AC -_-;;



슙라;

이미 푼거였는데 합과곱에 정신팔려서

이미 푼 문제인지 모르고 제껴놓고 있었습니다.

-_-;

이거 그냥 돌리면 TL 그냥 걸립니다.

5 X 5 배열을 받는다고 가정할때,

(0, 0)부터 (0, 4)까진 그냥 받고,

(1, 0)부터 (1, 4)까진 (0, 0)부터 (0, 4)까지의 값을 각각 더해서 저장합니다.

그러니까, (1, 0)에는 (0, 0)의 원래 값과, (1, 0)에 입력받은 값이 더해진채로 저장되는 것이지요.

이후 (2, 1)부터 (4, 2)까지의 부분행렬 내의 값들 합을 구하고 싶다면,

(3, 2)와 (3, 0)을 빼고, (4, 2)에서 (4, 0)를 뺍니다. 또한 (2, 2)에서 (2, 0)을 빼구요.

이 값들은 각각 (3, 1)과 (3, 2)의 합, (4, 1)과 (4, 2)의 합, (2, 1)과 (2, 2)의 합이 되지요.

이 세 값의 합이 원하는 답이 되는겁니다.

간단하지요?

'Solutions > Dlbo's Solution' 카테고리의 다른 글

PKU 1422. Air raid. WA -_-....  (2) 2010.06.23
PKU 2844. Sum and Product. TLE -_-  (1) 2010.06.22
PKU 2245. Lotto. 에이씨 -_-  (2) 2010.04.06
PKU 2245. Lotto. WA -_- 니미;  (4) 2010.03.21
PKU 2390. Bank Interest. AC get -_-  (1) 2010.03.07