๋ฌธ์
N X N ํฌ๊ธฐ์ ๋จ์ด ํผ์ฆ์ ๋ง๋ค๋ ค๊ณ ํ๋ค. ์
๋ ฅ์ผ๋ก ๋จ์ด ํผ์ฆ์ ๋ชจ์์ด ์ฃผ์ด์ง๋ค.
์ฃผ์ด์ง ํผ์ฆ ๋ชจ์์์ ํน์ ๊ธธ์ด K๋ฅผ ๊ฐ๋ ๋จ์ด๊ฐ ๋ค์ด๊ฐ ์ ์๋ ์๋ฆฌ์ ์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ผ.
[์์ ]
N = 5, K = 3 ์ด๊ณ , ํผ์ฆ์ ๋ชจ์์ด ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ฃผ์ด์ก์ ๋
๊ธธ์ด๊ฐ 3 ์ธ ๋จ์ด๊ฐ ๋ค์ด๊ฐ ์ ์๋ ์๋ฆฌ๋ 2 ๊ณณ(๊ฐ๋ก 1๋ฒ, ๊ฐ๋ก 4๋ฒ)์ด ๋๋ค.
์ ๋ ฅ
์
๋ ฅ์ ์ฒซ ์ค์ ์ด ํ
์คํธ ์ผ์ด์ค์ ๊ฐ์ T๊ฐ ์จ๋ค.
๋ค์ ์ค๋ถํฐ ๊ฐ ํ
์คํธ ์ผ์ด์ค๊ฐ ์ฃผ์ด์ง๋ค.
ํ
์คํธ ์ผ์ด์ค์ ์ฒซ ๋ฒ์งธ ์ค์๋ ๋จ์ด ํผ์ฆ์ ๊ฐ๋ก, ์ธ๋ก ๊ธธ์ด N ๊ณผ, ๋จ์ด์ ๊ธธ์ด K ๊ฐ ์ฃผ์ด์ง๋ค.
ํ
์คํธ ์ผ์ด์ค์ ๋ ๋ฒ์งธ ์ค๋ถํฐ ํผ์ฆ์ ๋ชจ์์ด 2์ฐจ์ ์ ๋ณด๋ก ์ฃผ์ด์ง๋ค.
ํผ์ฆ์ ๊ฐ ์
์ค, ํฐ์ ๋ถ๋ถ์ 1, ๊ฒ์์ ๋ถ๋ถ์ 0 ์ผ๋ก ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
ํ
์คํธ ์ผ์ด์ค t์ ๋ํ ๊ฒฐ๊ณผ๋ “#t”์ ์ฐ๊ณ , ํ ์นธ ๋๊ณ , ์ ๋ต์ ์ถ๋ ฅํ๋ค.
(t๋ ํ
์คํธ ์ผ์ด์ค์ ๋ฒํธ๋ฅผ ์๋ฏธํ๋ฉฐ 1๋ถํฐ ์์ํ๋ค.)
์ ์ฝ ์ฌํญ
1. N์ 5 ์ด์ 15 ์ดํ์ ์ ์์ด๋ค. (5 ≤ N ≤ 15)
2. K๋ 2 ์ด์ N ์ดํ์ ์ ์์ด๋ค. (2 ≤ K ≤ N)
์์ ์ ๋ ฅ 1
10
5 3
0 0 1 1 1
1 1 1 1 0
0 0 1 0 0
0 1 1 1 1
1 1 1 0 1
5 3
1 0 0 1 0
1 1 0 1 1
1 0 1 1 1
0 1 1 0 1
0 1 1 1 0
…
์์ ์ถ๋ ฅ 1
#1 2
#2 6
...
ํด๊ฒฐ ๋ฐฉ๋ฒ
๊ฐ๋ก / ์ธ๋ก๋ฅผ ์ฒดํฌํ๋ฉด์ ์ฐ์๋ ๋น ์นธ์ด ๋ช ๊ฐ์ธ์ง๋ฅผ ์ฒดํฌํ๊ณ , k์ ์ผ์นํ๋ฉด answer ๊ฐ์ ์ฆ๊ฐ์ํจ๋ค.
t = int(input())
for test_case in range(1, t+1):
n, k = map(int,input().split())
word_map = []
for i in range(n):
temp = list(map(int,input().split()))
word_map.append(temp)
answer = 0
for i in range(n):
cnt = 0
for j in range(n):
if word_map[i][j] == 1:
cnt += 1
else:
if cnt == k:
answer += 1
cnt = 0
if cnt == k:
answer += 1
for i in range(n):
cnt = 0
for j in range(n):
if word_map[j][i] == 1:
cnt += 1
else:
if cnt == k:
answer += 1
cnt = 0
if cnt == k:
answer += 1
print("#{} {}".format(test_case, answer))
'๐์ฝ๋ฉํ ์คํธ > SWEA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SWEA] <D2> 2005 - ํ์ค์นผ์ ์ผ๊ฐํ (0) | 2024.11.17 |
---|---|
[SWEA] <D2> 1974 - ์ค๋์ฟ ๊ฒ์ฆ (0) | 2024.11.17 |
[SWEA] <D2> 2001 - ํ๋ฆฌ ํด์น (0) | 2024.11.17 |
[SWEA] <D2> 1954 - ๋ฌํฝ์ด ์ซ์ (0) | 2024.11.17 |
[SWEA] <D2> 1204 - ์ต๋น์ ๊ตฌํ๊ธฐ (0) | 2024.11.17 |