U E D R , A S I H C RSS

Mine Sweeper/zyint

~cpp 
# -*- coding: cp949 -*-
mapx=0
mapy=0
#map = ['*...','....','.*..','....']
map = []

def plus(r,c):
    if r<0 or r>mapx-1:
        return 0
    if c<0 or r>mapy-1:
        return 0
    
    if map[r][c] != '*':
        map[r]=map[r][:c] + str(int(map[r][c])+1) + map[r][c+1:]


def mineAroundplus(r,c):
    plus(r-1,c-1)
    plus(r-1,c)
    plus(r-1,c+1)

    plus(r,c-1)
    plus(r,c)
    plus(r,c+1)

    plus(r+1,c-1)
    plus(r+1,c)
    plus(r+1,c+1)
        
def prtmap():
    prt = ''
    for i in range(0,mapy):
        for j in range(0,mapx):
            prt = prt + map[i][j]
        print prt
        prt =''

###################################### main
mapx = input('x >')
mapy = input('y >')

#입력받은 행 열 만큼 데이터를 입력받습니다.
for i in range(mapy):
    map.append(raw_input())

px = 0
py = 0

#.을 0으로 변경해줍니다.
for i in range(0,mapy):
    for j in range(0,mapx):
        if map[i][j] == '.':
            map[i] = map[i][:j] + '0' + map[i][j+1:]


#마인 주변에 있는 숫자들을 더합니다
for i in range(0,mapy):
    for j in range(0,mapx):
        if map[i][j] == '*':
            mineAroundplus(i,j)


prtmap()



Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2009-05-27 07:09:19
Processing time 0.0076 sec