728x90
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ: https://www.acmicpc.net/problem/11660

 

11660๋ฒˆ: ๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ 5

์ฒซ์งธ ์ค„์— ํ‘œ์˜ ํฌ๊ธฐ N๊ณผ ํ•ฉ์„ ๊ตฌํ•ด์•ผ ํ•˜๋Š” ํšŸ์ˆ˜ M์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ํ‘œ์— ์ฑ„์›Œ์ ธ ์žˆ๋Š” ์ˆ˜๊ฐ€ 1ํ–‰๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ M๊ฐœ์˜ ์ค„์—๋Š” ๋„ค

www.acmicpc.net


์ด ๋ฌธ์ œ๋ฅผ ๋ณด๊ธฐ ์ „๊นŒ์ง€๋Š” ๊ตฌ๊ฐ„ํ•ฉ๋„ ํ•  ๋งŒํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋‹ค๊ฐ€ ๋”ฑ ์ด ๋ฌธ์ œ๋ฅผ ๋ณด๋Š” ์ˆœ๊ฐ„,
์™€.. ๋‚ด๊ฐ€ ์ด๊ฑธ ํ’€ ์ˆ˜ ์žˆ์„๊นŒ ์ด ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. ๋‚˜ํ•œํ…Œ๋Š” ์ด ๋ฌธ์ œ๊ฐ€ ๊ฑฐ์˜ ์ตœ์ข… ๋ณด์Šค์ฒ˜๋Ÿผ ๋Š๊ปด์กŒ๋‹ค.
์™œ๋ƒํ•˜๋ฉด ํ•„์ž๋Š” 2์ฐจ์› ๋ฐฐ์—ด์— ์šธ๋ ์ฆ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ „ ์ง์žฅ์—์„œ๋„ ๋ฐฐ์—ด์„ ๋‹ค๋ฃจ๋Š” ๊ฒŒ ๋Šฅ์ˆ™์ง€ ์•Š์•„ ๋ณด์ธ๋‹ค๋Š” ๋ง์„ ์—ฌ๋Ÿฌ ๋ฒˆ ๋“ค์—ˆ์„ ์ •๋„๋กœ ์ดˆ๋ณด์ค‘์˜ ์ดˆ๋ณด์˜€๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ ๋ถ„์„ํ•ด์„œ ํ‘ผ๋‹ค? ์ •๋ง ๊ฐ€๋Šฅ์„ฑ์ด ๋‹จ 1๋„ ์—†์–ด ๋ณด์˜€๋‹ค.
ํ•˜์ง€๋งŒ ์ด ์—ญ์‹œ ๋ถ„์„ํ•˜์ง€ ์•Š๊ณ  ๋„˜์–ด๊ฐ€๊ฒŒ ๋˜๋ฉด ๊ฒฐ๊ตญ์—” ๋‹ค๋ฅธ ์ง์žฅ์— ๊ฐ€์„œ๋„ ๋˜‘๊ฐ™์€ ์†Œ๋ฆฌ๋ฅผ ๋“ฃ๊ฒŒ ๋  ๊ฒŒ ๋ป”ํ•˜๊ณ ,
๊ฒฐ๊ตญ ๊ณต๋ถ€๋‹ค์šด ๊ณต๋ถ€๋ฅผ ๋ชปํ•œ ๊ฒƒ์ด ๋˜์–ด๋ฒ„๋ฆฐ๋‹ค. ๊ทธ๋ž˜์„œ ์ด ๋ฌธ์ œ๋„ ํ•˜๋‚˜ํ•˜๋‚˜ ๋ถ„์„์„ ํ•ด๋‚˜๊ฐ”๋‹ค.
๊ฒฐ๊ณผ์ ์œผ๋กœ๋Š” ๋ถ„์„์„ ํ•ด๋ƒˆ๊ณ , 2์ฐจ์› ๋ฐฐ์—ด์˜ ๊ฑฐ๋ถ€๊ฐ๋„ ์กฐ๊ธˆ์€ ๋œ๊ฒŒ ๋˜์—ˆ๋‹ค.

์„œ๋ก ์ด ์ข€ ๊ธธ์—ˆ๋Š”๋ฐ, ๋จผ์ € 2์ฐจ์› ๋ฐฐ์—ด์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž.
2์ฐจ์› ๋ฐฐ์—ด์ด๋ž€, ๋ง ๊ทธ๋Œ€๋กœ 1์ฐจ์› ๋ฐฐ์—ด์ด ์—ฌ๋Ÿฌ ๊ฐœ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์–ด, ๋ฉด ํ˜•ํƒœ๋ฅผ ๋ ๊ณ  ์žˆ๋‹ค๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

2์ฐจ์› ๋ฐฐ์—ด ๊ตฌ์กฐ

๋”ฐ๋ผ์„œ ์ด 2์ฐจ์› ๋ฐฐ์—ด์„ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด์„  2์ค‘ ๋ฐ˜๋ณต๋ฌธ์ด ๊ฑฐ์˜ ํ•„์ˆ˜์ ์œผ๋กœ ๋‚˜์˜จ๋‹ค.
์ฑ…์—์„œ๋Š” ๊ตฌ๊ฐ„ํ•ฉ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ธฐ์ค€์œผ๋กœ ์•Œ๋ ค์ฃผ๊ธฐ ๋•Œ๋ฌธ์—,
๊ตฌ๊ฐ„ํ•ฉ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•œ ๋ฌธ์ œํ’€์ด ๋ฐฉ์‹์„ ๋ถ„์„ํ•œ ๊ฒƒ์ด๋‹ค.

ํ•„์ž๊ฐ€ ๊ตฌ๊ธ€๋ง์œผ๋กœ ์•Œ์•„๋ณธ ๊ฒฐ๊ณผ, ์ด ๋ฌธ์ œ์—์„œ๋Š” DP(Dynamic Programing)๋ณด๋‹ค ๊ตฌ๊ฐ„ํ•ฉ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค๊ณ  ํ•˜์—ฌ ๊ตฌ๊ฐ„ํ•ฉ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. DP์— ๋Œ€ํ•ด์„œ๋Š” ์•„์ง ๊ณต๋ถ€๋ฅผ ๋ชปํ–ˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ฐจํ›„์— ๊ธ€์„ ์ž‘์„ฑํ•ด๋ณผ ์ƒ๊ฐ์ด๋‹ค.

์ƒ๊ฐํ•˜๊ธฐ ์‰ฝ๊ฒŒ ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด ์ƒ๊ฐ์„ ํ•ด๋ณด์ž.
์ฒ˜์Œ์— 4๋ฅผ ์ž…๋ ฅํ•ด์„œ 4์นธx4์นธ = 16์นธ์˜ 2์ฐจ์› ๋ฐฐ์—ด์ด ๋งŒ๋“ค์–ด์กŒ๋‹ค.
๊ทธ๋Ÿฌ๋ฉด์„œ ๊ฐ’์„ ์ˆœ์„œ๋Œ€๋กœ ๋„ฃ๊ธฐ ์‹œ์ž‘ํ•œ๋‹ค. ๊ทธ๋Ÿผ ์ด๋ ‡๊ฒŒ ๊ทธ๋ฆผ์ด ๊ทธ๋ ค์ง„๋‹ค.

๊ฐ’์„ ๋„ฃ์€ ๋‹ค์Œ์˜ 2์ฐจ์› ๋ฐฐ์—ด

์šฐ๋ฆฐ ์—ฌ๊ธฐ์„œ ๊ตฌ๊ฐ„ํ•ฉ์„ ๊ตฌํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฒฐ๊ตญ ๋ˆ„์ ํ•ฉ์„ ๊ตฌํ•ด์•ผ ํ•œ๋‹ค.
๊ทผ๋ฐ ์–ด๋–ป๊ฒŒ ๊ตฌํ•ด์•ผ ์œ„, ์•„๋ž˜๋กœ ๋”ํ•ด์ง€๋Š” ๊ฒƒ๋„ ๋Œ€๋น„๋ฅผ ํ•  ์ˆ˜ ์žˆ์„๊นŒ?


์ฑ…์—์„œ ๋‚˜์˜จ ๊ณต์‹์ด ์žˆ์ง€๋งŒ, ์—ญ์‹œ๋‚˜ ํ•„์ž๋Š” ํ•œ ๋ฒˆ์— ์ดํ•ด๋ฅผ ํ•˜์ง€ ๋ชปํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•˜๋‚˜์”ฉ ๋ถ„์„์„ ํ•ด๋ดค๋‹ค.
๋ˆ„์  ํ•ฉ์˜ ๋ฐฐ์—ด๋„ ์—ญ์‹œ๋‚˜ 2์ฐจ์› ๋ฐฐ์—ด์ผ ์ˆ˜๋ฐ–์— ์—†๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์ˆซ์ž๋ฅผ ์ž…๋ ฅ๋ฐ›์€ ๋ฐฐ์—ด ์ž์ฒด๊ฐ€ 2์ฐจ์›์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋ฐฑ์ค€ 111660 ์˜ˆ์ œ ๋ˆ„์ ํ•ฉ์˜ ๊ฐ’

์ผ๋‹จ ์ผ์ฐจ์› ๋ˆ„์ ํ•ฉ์€ ๊ฐ„๋‹จํ–ˆ๋‹ค. S[i] = S[i-1] + N[i]. ๊ทผ๋ฐ, ์ด ๋ฌธ์ œ๋Š” ์ข€ ๋” ๋ณต์žกํ•˜๋‹ค.
์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“ค ๋ˆ„์  ํ•ฉ์˜ ๊ฐ’์„ ์ ์–ด๋ณด์ž๋ฉด ์œ„์™€ ๊ฐ™์€ ์‹์ด๋‹ค. ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” N[i][j]๋„ ๋”ํ•ด์ค˜์•ผ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
์ด์œ ๋Š” https://life-study-1031.tistory.com/7 ์—ฌ๊ธฐ์—์„œ ์ž˜ ์„ค๋ช…๋˜์–ด์žˆ์œผ๋‹ˆ ์ฐธ๊ณ  ๋ฐ”๋ž€๋‹ค.

 

[๊ตฌ๊ฐ„ํ•ฉ]๋ฐฑ์ค€ - 11659๋ฒˆ

๋ฌธ์ œ: https://www.acmicpc.net/problem/11659 11659๋ฒˆ: ๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ 4 ์ฒซ์งธ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N๊ณผ ํ•ฉ์„ ๊ตฌํ•ด์•ผ ํ•˜๋Š” ํšŸ์ˆ˜ M์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” N๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ˆ˜๋Š” 1,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด

life-study-1031.tistory.com

๋Œ์•„์™€์„œ, ์ผ์ฐจ์›์˜ ๋ˆ„์ ํ•ฉ์„ ์ €์žฅํ•  ๋•Œ๋Š” S[i] = S[i-1] + N[i] ์ด ํ˜•ํƒœ๋กœ ํ–ˆ์—ˆ๋Š”๋ฐ,
์ด๊ฑด 2์ฐจ์› ๋ฐฐ์—ด์ž„์„ ๋‹ค์‹œ ํ•œ๋ฒˆ ์ƒ๊ธฐ์‹œํ‚ค๋ฉด์„œ ์ƒ๊ฐํ•ด๋ณด์ž,
S[i-1]์„ ๋”ํ•˜๋Š” ์ด์œ ๋Š” ๊ฒฐ๊ตญ ๊ทธ ํ•ญ์ด ์ด๋ฒˆ ํ•ญ ๊ทธ ์ „๊นŒ์ง€์˜ ๋ˆ„์ ํ•ฉ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋”ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
๊ทธ๋Ÿผ 2์ฐจ์›์—์„œ๋Š” ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ๊ทธ ์ „ํ•ญ๊นŒ์ง€์˜ ๊ฐ’์„ ๋”ํ•  ์ˆ˜ ์žˆ์„๊นŒ?
๋ฐ”๋กœ ๊ฐ€๋กœ์ค„๊ณผ ์„ธ๋กœ์ค„์„ ํ•˜๋‚˜์”ฉ ์ค„์ธ ๊ฐ’์„ ๋”ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์—ฌ๊ธฐ์„œ ์šฐ๋ฆฌ๊ฐ€ ์•Œ์•„์•ผ ํ•  ๊ฒƒ์€, ์ด์ฐจ์› ๋ฐฐ์—ด์„ ๋‹ค๋ฃฐ ๋•Œ A[i][j] ์ด๋Ÿฐ ํ˜•ํƒœ๋กœ ๋‹ค๋ฃจ๊ฒŒ ๋˜๋Š”๋ฐ,
์ด ์›๋ฆฌ๋ฅผ ์ž˜ ์•Œ์•„์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๋‹จ๋„์ง์ž…์ ์œผ๋กœ ๋งํ•˜๋ฉด A[(๊ฐ€๋กœ์ค„)][(์„ธ๋กœ์ค„)]์ด๋‹ค.
์ด๊ฑธ ๊ทธ๋ฆผ์œผ๋กœ ์„ค๋ช…ํ•ด๋ณด์ž๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

2์ฐจ์›๋ฐฐ์—ด์˜ ๊ฐ€๋กœ์ค„๊ณผ ์„ธ๋กœ์ค„ (๋ฐฐ์—ด์•ˆ์— ๋“ค์–ด์žˆ๋Š” ์ˆซ์ž๋Š” N[i][j]๋“ค์„ ๋”ํ•ด์„œ ๋“ค์–ด๊ฐ€์•ผ ํ•  ๊ฐ’์ด๋‹ค.)

๊ทธ๋ ‡๊ฒŒ ๋˜๋ฉด ๋งŒ์•ฝ์— S(i,j) = S(2,3)์˜ ๋ˆ„์ ํ•ฉ์„ ๊ตฌํ•ด์•ผ ํ•œ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ, S(1,3)์€ ๊ฒฐ๊ตญ N(1,1)~N(1,3)๊นŒ์ง€ ๋”ํ•œ ๊ฐ’์ด๋ฉฐ, S(2,2)๋Š” N(1,1)+N(1,2)+N(2,1)+N(2,2)๋ฅผ ๋‹ค ๋”ํ•œ ๊ฐ’์ด๊ธฐ ๋•Œ๋ฌธ์— 1์ฐจ์› ๋ฐฐ์—ด์—์„œ ํ–ˆ๋˜ ํ˜„์žฌํ•ญ ์ด์ „์˜ ํ•ญ์„ ๋”ํ•˜๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ ์ˆ˜์ˆœ์ด ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ์ด๋ ‡๊ฒŒ ํ•œ ์ค„์”ฉ ์ค„์ธ ๊ฒƒ์„ ๋”ํ•˜๊ฒŒ ๋˜๋ฉด ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค. ๊ทธ๋Ÿผ 2๋ฒˆ ๋”ํ•ด์ง€๋Š” ๋ถ€๋ถ„์ด ์ƒ๊ธธ ํ…๋ฐ, ๊ทธ ๋ถ€๋ถ„์€ ๋นผ์ค˜์•ผ ํ•˜์ง€ ์•Š์€๊ฐ€? ๊ทธ๋ž˜์„œ ํ˜„์žฌ ํ•ญ์˜ ๋Œ€๊ฐ์„ ์— ์žˆ๋Š” ํ•ญ์€ ๋นผ์ค€๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด S(2,3)์„ ๊ตฌํ•œ๋‹ค๊ณ  ํ•ด๋ณด๋ฉด, N(1,1), N(1,2)๋Š” ์ค‘๋ณต์œผ๋กœ ๋”ํ•ด์ง„๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋Ÿฐ ๋ถ€๋ถ„์„ ๋นผ์ฃผ๊ธฐ ์œ„ํ•ด ๋Œ€๊ฐ์„ ์— ์žˆ๋Š” ํ•ญ์„ ๋นผ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.

๊ทธ๋Ÿผ ์ด์ œ ๋‚จ์€ ๊ฑด ํ•˜๋‚˜๋‹ค.
์˜ˆ์ œ์—์„œ ๋‚˜์˜ค๋Š” S(2,2) ~ S(3,4)๊นŒ์ง€์˜ ํ•ฉ์„ ์–ด๋–ป๊ฒŒ ๊ตฌํ•  ๊ฒƒ์ด๋ƒ?

์ด๊ฒƒ๋„ ๊ทธ๋ฆผ์œผ๋กœ ๋ณด๋ฉด ํŽธํ•˜๋‹ค.

๋ˆ„์ ํ•ฉ ๋ฐฐ์—ด์—์„œ ์ผ๋ถ€๋ถ„์˜ ํ•ฉ์„ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•

๊ฐˆ์ƒ‰์œผ๋กœ ์น ํ•œ ๋ถ€๋ถ„์ด N(1,1) ~ N(3,4)๊นŒ์ง€ ๋ชจ๋‘ ๋”ํ•œ ๊ฐ’์ด๊ณ , ๋ถ„ํ™์ƒ‰์€ ๊ฑฐ๊ธฐ์—์„œ N(1,1) ~ N(1,4)๊นŒ์ง€ ๋”ํ•œ ๊ฐ’์ด๋‹ค.
๊ทธ๋ฆฌ๊ณ  ๋ณด๋ผ์ƒ‰์€ N(1,1) ~ N(3,1)๊นŒ์ง€ ๋”ํ•œ ๊ฐ’์ด๋‹ค.
์ฆ‰, ์šฐ๋ฆฌ๋Š” ์ € ๊ฐ’๋“ค์„ ๋นผ์•ผ N(2,2) ~ N(3,4)๊นŒ์ง€์˜ ๊ฐ’์„ ๋”ํ•  ์ˆ˜ ์žˆ๋‹ค.
๋‹ค๋งŒ ๊ทธ๋Ÿฌ๋ฉด ๋‘ ๋ฒˆ ๋นผ๊ฒŒ ๋˜๋Š” ๊ฐ’์ด ์žˆ๋‹ค. ๋ฐ”๋กœ N(1,1), N(1,2)์ด๋‹ค. ๋”ฐ๋ผ์„œ ์ฒ˜์Œ์— ์ž…๋ ฅ๋ฐ›๋Š” x,y ๊ฐ’์—์„œ 1์”ฉ ๋นผ์ฃผ๋ฉด ๋‘ ๋ฒˆ ๋นผ๊ฒŒ ๋˜๋Š” ๊ฐ’์„ ๊ฐ€๋ฆฌํ‚ฌ ์ˆ˜ ์žˆ๊ณ , ๊ทธ๊ฑธ ๋”ํ•ด์ฃผ๋ฉด ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

์—ฌ๊ธฐ๊นŒ์ง€ ์˜ค๋Š๋ผ ์ •๋ง ๋จธ๋ฆฌ๊ฐ€ ํ„ฐ์งˆ ๊ฒƒ ๊ฐ™์€ ๊ธฐ๋ถ„ ๋„ˆ๋ฌด ์ž˜ ์•ˆ๋‹ค. ์ด์ œ ์ง„์งœ ๋‹ค ์™”๋‹ค.
์šฐ๋ฆฌ๋Š” ์ด๊ฑธ๋กœ 2๊ฐ€์ง€๋ฅผ ๋„์ถœํ•  ์ˆ˜ ์žˆ๋‹ค.
โ‘  2์ฐจ์› ๋ฐฐ์—ด์—์„œ ๊ตฌ๊ฐ„ํ•ฉ์„ ๊ตฌํ•˜๋Š” ์‹:
     S[(๊ฐ€๋กœ์ค„)][(์„ธ๋กœ์ค„)] = S[(๊ฐ€๋กœ์ค„)-1][(์„ธ๋กœ์ค„)] + S[(๊ฐ€๋กœ์ค„)][(์„ธ๋กœ์ค„)-1] - S[(๊ฐ€๋กœ์ค„)-1][(์„ธ๋กœ์ค„)-1]
โ‘ก ์งˆ์˜์— ๋Œ€ํ•œ ๋‹ต์„ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ์‹(x1, y1์€ ์ฒ˜์Œ์— ์ž…๋ ฅ๋ฐ›๋Š” ์ขŒํ‘œ, x2, y2๋Š” ๋‘ ๋ฒˆ์งธ๋กœ ์ž…๋ ฅ๋ฐ›๋Š” ์ขŒํ‘œ): 
     S[x2][y2] - S[x1-1][y2] - S[x2][y1-1] + S[x1-1][y1-1]

์ด๊ฑธ ์ฝ”๋”ฉ์œผ๋กœ ํ‘œํ˜„ํ•˜์ž๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

import java.io.*;
import java.util.*;

public class BOJ_11660 {

	public static void main(String[] args) throws IOException{
		// TODO ๋ฐฑ์ค€ 11660
		
        //์ž…๋ ฅ์„ ๋นจ๋ฆฌ ๋ฐ›๊ธฐ ์œ„ํ•ด BufferedReader ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•จ.
        //์ž…๋ ฅ๋ฐ›์€ ๋ฌธ์ž์—ด์„ ํŒŒ์‹ฑํ•˜๊ธฐ ์œ„ํ•ด StringTokenizer ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•จ.
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine());
		
		int N = Integer.parseInt(st.nextToken());
		int M = Integer.parseInt(st.nextToken());
		int[][] nums = new int[N+1][N+1];
		long[][] sums = new long[N+1][N+1];

		//์ˆซ์ž ์ž…๋ ฅ๋ฐ›๊ณ  ํ•ฉ ๊ตฌํ•˜๊ธฐ
		for(int i=1; i<=N; i++) {
			st = new StringTokenizer(br.readLine());
			for(int j=1; j<=N; j++) {
				nums[i][j] = Integer.parseInt(st.nextToken());
				sums[i][j] += sums[i-1][j] + sums[i][j-1] - sums[i-1][j-1] + nums[i][j];
			}
		}
		
		//๋‹ต ๊ตฌํ•˜๊ธฐ
		for(int i=0; i<M; i++) {
			st = new StringTokenizer(br.readLine());
			int x1 = Integer.parseInt(st.nextToken());
			int y1 = Integer.parseInt(st.nextToken());
			int x2 = Integer.parseInt(st.nextToken());
			int y2 = Integer.parseInt(st.nextToken());
			
			System.out.println(sums[x2][y2] - sums[x1-1][y2] - sums[x2][y1-1] + sums[x1-1][y1-1]);
		}
	}
}
728x90
๋ฐ˜์‘ํ˜•

+ Recent posts