๊ณณ๊ฐ(๋ชจ๋์๊ณ)
๐ ๋ฌธ์
ํ์๋ ๊ณณ๊ฐ์ ๋ง๋ค๊ธฐ ์ํด ๊ฐ์ ๊น์ ๋ง๋น์ ๋ง๋ฆฌ๊ณ ์์ต๋๋ค.
ํ์์ ๋ง๋น์ N*N ๊ฒฉ์ํ์ผ ๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ํ์๋ ๊ฐ ๊ฒฉ์๋จ์๋ก ๋ง๋ฆฌ๋ ๊ฐ์ ์๋ฅผ ์ ํฉ๋๋ค.
๊ทธ๋ฐ๋ฐ ํด์ ์์น์ ๋ฐ๋ผ ํน์ ์์น์ ๊ฐ์ ์ ๋ง๋ฅด์ง ์์ต๋๋ค.
๊ทธ๋์ ํ์๋ ๊ฒฉ์์ ํ์ ๊ธฐ์ค์ผ๋ก ์ผ์ชฝ, ๋๋ ์ค๋ฅธ์ชฝ์ผ๋ก ํ์ ์์ผ ์์น๋ฅผ ๋ณ๊ฒฝํด ๋ชจ๋ ๊ฐ์ด ์ ๋ง๋ฅด๊ฒ ํฉ๋๋ค. ๋ง์ฝ ํ์ ๋ช ๋ น ์ ๋ณด๊ฐ 2 0 3์ด๋ฉด 2๋ฒ์งธ ํ์ ์ผ์ชฝ์ผ๋ก 3๋งํผ ์๋ ๊ทธ๋ฆผ์ฒ๋ผ ํ์ ์ํค๋ ๋ช ๋ น ์ ๋๋ค.์ฒซ ๋ฒ์งธ ์๋ ํ๋ฒํธ,
๋ ๋ฒ์งธ ์๋ ๋ฐฉํฅ์ธ๋ฐ 0์ด๋ฉด ์ผ์ชฝ,
1์ด๋ฉด ์ค๋ฅธ์ชฝ์ด๊ณ ,
์ธ ๋ฒ์งธ ์๋ ํ์ ํ๋ ๊ฒฉ์์ ์์ ๋๋ค.
M๊ฐ์ ํ์ ๋ช ๋ น์ ์คํํ๊ณ ๋ ํ ์๋์ ๊ฐ์ด ๋ง๋น์ ๋ชจ๋์๊ณ ๋ชจ์์ ์์ญ์๋
๊ฐ์ด ์ด ๋ช ๊ฐ๊ฐ ์๋์ง ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.
โฃ ์ ๋ ฅ์ค๋ช
์ฒซ ์ค์ ์์ฐ์ N(3<=N<=20) ์ด ์ฃผ์ด๋ฉฐ, N์ ํ์์ ๋๋ค.
๋ ๋ฒ์งธ ์ค๋ถํฐ N์ค์ ๊ฑธ์ณ ๊ฐ ์ค์ N๊ฐ์ ์์ฐ์๊ฐ ์ฃผ์ด์ง๋๋ค.
์ด ์์ฐ์๋ ๊ฐ ๊ฒฉ์์์ ์๋ ๊ฐ์ ๊ฐ์์ด๋ฉฐ, ๊ฐ ๊ฒฉ์์์ ๊ฐ์ ๊ฐ์๋ 100์ ๋์ง ์์ต๋๋ค.
๊ทธ ๋ค์ ์ค์ ํ์ ๋ช ๋ น์ ๊ฐ์์ธ M(1<=M<=10)์ด ์ฃผ์ด์ง๊ณ ,
๊ทธ ๋ค์ ์ค๋ถํฐ M๊ฐ์ ํ์ ๋ช ๋ น ์ ๋ณด๊ฐ M์ค์ ๊ฑธ์ณ ์ฃผ์ด์ง๋๋ค.
โฃ ์ถ๋ ฅ์ค๋ช
์ด ๊ฐ์ ๊ฐ์๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
โฃ ์ ๋ ฅ์์
5
10 13 10 12 15
12 39 30 23 11
11 25 50 53 15
19 27 29 37 27
19 13 30 13 19
3
2 0 3
5 1 2
3 1 4
โฃ ์ถ๋ ฅ์์
362
๐ง ํ์ด
ํ์ด
'''
์๋ฅผ ๋ค์ด, 2 0 3
0 1 2 3 4
3 4 0 1 2
3 -> 3 - 3 = 0
4 -> 4 - 3 = 0
2 -> 2 - 3 = -1 -> 4 == len() + (2 - 3)
1 -> 1 - 3 = -2 -> 3 == len() + (1 - 3)
0 -> 0 - 3 = -3 -> 2 == len() + (0 - 3)
ํํธ, 2 1 3
0 1 2 3 4
2 3 4 0 1
0 -> 0 + 3 = 3
1 -> 1 + 3 = 4
2 -> 2 + 3 = 5 -> 1 = 5 - 4
3 -> 3 + 3 = 6 -> 2 = 6 - 4
4 -> 4 + 3 = 7 -> 3 = 7 - 4
'''
# ์
๋ ฅ: ์ฒซ ์ค - N, ๋ ์งธ์ค๋ถํฐ N์งธ์ค๊น์ง ์์ฐ์ N๊ฐ, ์ดํ M, M์ค์ ํ์ ๋ช
๋ น
# ์ถ๋ ฅ: ์ด ๊ฐ์ ๊ฐ์
n = int(input()) # ์ ์ n ์
๋ ฅ ๋ฐ ํ ๋น
array = [] # ๋น array ํ ๋น
for i in range(n): # n๋งํผ ๋ฐ๋ณต
array.append(list(map(int,input().split()))) # array์ ์ซ์ ์
๋ ฅํ์ฌ ์ถ๊ฐ
m = int(input()) # ์ ์ m ์
๋ ฅ ๋ฐ ํ ๋น
for i in range(m): # m๋งํผ ๋ฐ๋ณต
a, b, c = map(int, input().split()) # a, b, c ์
๋ ฅ ๋ฐ ํ ๋น
if b == 0: # b๊ฐ 0์ด๋ฉด ์ผ์ชฝ์ผ๋ก ํ์
for _ in range(c): # c๋งํผ ๋ฐ๋ณต
array[a-1].append(array[a-1][0]) # ์ ์ผ ์ผ์ชฝ์ ์ซ์๋ฅผ ์ ์ผ ์ค๋ฅธ์ชฝ์ ์ถ๊ฐ
array[a-1].pop(0) # ์ ์ผ ์ผ์ชฝ์ ์ซ์ pop()์ผ๋ก ์ ๊ฑฐ
else: # b๊ฐ 1์ด๋ฉด ์ค๋ฅธ์ชฝ์ผ๋ก ํ์
for _ in range(c): # c๋งํผ ๋ฐ๋ณต
array[a-1].insert(0, array[a-1][-1]) # ์ ์ผ ์ค๋ฅธ์ชฝ์ ์ซ์๋ฅผ ์ ์ผ ์ผ์ชฝ์ ์ถ๊ฐ
array[a-1].pop() # ์ ์ผ ์ค๋ฅธ์ชฝ์ ์ซ์ pop()์ผ๋ก ์ ๊ฑฐ
s = 0 # ์์ ํฌ์ธํฐ: 0์ผ๋ก ํ ๋น
e = n # ๋ ํฌ์ธํฐ: n์ผ๋ก ํ ๋น (์ฌ๋ผ์ด์ฑ์ ์ํด n-1์ด ์๋, n)
sum_result = 0 # ํฉ์ ๋ด์ sum_result ๋ณ์ 0์ผ๋ก ํ ๋น
for j in range(n): # n๋งํผ ๋ฐ๋ณต
sum_result += sum(array[j][s:e]) # ํด๋น ์กฐ๊ฑด์ ์ฌ๋ผ์ด์ฑ๋ ๋ฆฌ์คํธ์ ํฉ์ sum_result์ ๋ํด์ค
if j < n // 2: # ์ ๋ฐ์ ๊ธฐ์ค์ผ๋ก ์์ ์๋ ํ๋ค์ ๊ฒฝ์ฐ,
s += 1 # s๋ 1์ฉ ์ปค์ง๊ณ
e -= 1 # e๋ 1์ฉ ์์์ง
else: # ์ ๋ฐ์ ๊ธฐ์ค์ผ๋ก ๋ฐ์ ์๋ ํ๋ค์ ๊ฒฝ์ฐ,
s -= 1 # s๋ 1์ฉ ์์์ง๊ณ
e += 1 # e๋ 1์ฉ ์ปค์ง
print(sum_result) # ํฉ ์ถ๋ ฅ
๋ค๋ฅธ ์ฌ๋ ํ์ด
n = int(input())
a = [list(map(int, input().split())) for _ in range(n)]
m = int(input())
for i in range(m):
h, t, k = map(int, input().split())
if t == 0:
for _ in range(k):
a[h-1].append(a[h-1].pop(0))
else:
for _ in range(k):
a[h-1].insert(0, a[h-1].pop())
res = 0
s = 0
e = n - 1
for i in range(n):
for j in range(s, e+1):
res += a[i][j]
if i < n // 2:
s += 1
e -= 1
else:
s -= 1
e += 1
print(res)
'๐งฉ Algorithm > ๐จ Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ] ์คํ ์ฟ ๊ฒ์ฌ (0) | 2022.07.26 |
|---|---|
| [ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ] ๋ด์ฐ๋ฆฌ (0) | 2022.07.26 |
| [ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ] ์ฌ๊ณผ๋๋ฌด(๋ค์ด์๋ชฌ๋) (0) | 2022.07.26 |
| [ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ] ๊ฒฉ์ํ ์ต๋ํฉ (0) | 2022.07.25 |
| [ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ] ์๋ค์ ํฉ (0) | 2022.07.24 |

