시웠다 히히
n, m, t = map(int, input().split())
base_pan = []
for i in range(n) :
base_pan.append( list(map(int, input().split())) )
def run(base_pan) :
for i in range(t) :
x, d, k = map(int, input().split()) #몇번째판 배수, 시계/반시계, 몇칸돌릴지
rotate_cnt = 1
while ( x*rotate_cnt-1 < n ) :
if(d==0) :#시계
for k_ in range(k) :
base_pan[ x*rotate_cnt-1 ] = [base_pan[ x*rotate_cnt-1 ][-1]]+base_pan[ x*rotate_cnt-1 ][:-1]
else :
for k_ in range(k) :
base_pan[ x*rotate_cnt-1 ] = base_pan[ x*rotate_cnt-1 ][1:]+[base_pan[ x*rotate_cnt-1 ][0]]
rotate_cnt = rotate_cnt+1
same_arr = []
for i in range(n) :
for j in range(m) :
basic_value = base_pan[i][j]
if (basic_value=='.'):
continue
same_cnt = 0
if (i-1>=0):
if(basic_value==base_pan[i-1][j]) :
same_arr.append([i-1,j])
same_cnt = same_cnt+1
if (i+1<n) :
if (basic_value==base_pan[i+1][j]) :
same_arr.append([i+1,j])
same_cnt = same_cnt+1
if ( basic_value==base_pan[i][j-1] ) :
same_arr.append([i,j-1])
same_cnt = same_cnt+1
if ( j+1<m ) :
if (basic_value==base_pan[i][j+1]) :
same_arr.append([i,j+1])
same_cnt = same_cnt+1
if( same_cnt>0 ) :
same_arr.append([i,j])
same_cnt = same_cnt+1
if( len(same_arr)>0 ) :
for i in same_arr :
base_pan[i[0]][i[1]] = '.'
else :
base_pan = mean_calc(base_pan)
dap = 0
for i in range(n) :
for j in range(m) :
if(base_pan[i][j]!='.') :
dap = dap+base_pan[i][j]
return dap
def mean_calc(base_pan) :
cnt = 0
sum_ = 0
for i in range (n) :
for j in range( m) :
if(base_pan[i][j]!='.') :
cnt = cnt+1
sum_ = sum_+base_pan[i][j]
if(cnt!=0) :
mean = sum_/cnt
for i in range (n) :
for j in range (m) :
if(base_pan[i][j]!='.') :
if(base_pan[i][j]>mean) :
base_pan[i][j]=base_pan[i][j]-1
elif (base_pan[i][j]<mean) :
base_pan[i][j]=base_pan[i][j]+1
return base_pan
print(run(base_pan))
'알고리즘 algorithms' 카테고리의 다른 글
[백준 10058 Java] 마법사 상어와 파이어스톰 (0) | 2020.10.27 |
---|---|
[백준 2468 Java] 안전영역 (0) | 2020.10.20 |
[백준 9019 Python] DSLR (0) | 2020.10.20 |
[백준 7612 Python 파이썬] SSSP_다익스트라(Dijkstra) (0) | 2020.10.13 |
[백준 2151 파이썬 Python] 거울설치 (0) | 2020.10.12 |
[백준 2529 Python 파이썬] 두동전 (0) | 2020.09.23 |
[백준 16197 Python 파이썬] 두 동전 (0) | 2020.09.15 |