前二天都在翻譯題目,沒有在刷題,今天刷起來特別沒手感。古人云:「三日不讀書,面目可憎」,三日不刷題,手感可生。
還在修改,輸出有錯誤。但是抓不到邏輯bug。
import sys
#測試系統開關
def test():
return 0#打開?1;0
讀取測資
def inp():
global grid
#總題數讀取
testcase=int(sys.stdin.readline())
for i in range(testcase):
sinp=sys.stdin.readline().replace("\n","")
hri,wei,que=map(int,sinp.split())
#長、寬、總小題數
print(hri,wei,que)
#grid
grid=[]
#讀取文章內容
for j in range(hri):
sinp=sys.stdin.readline().replace("\n","")
grid.append(sinp)
if(test()):print(sinp)
if(test()):print(grid)
#question
for k in range(que):
sinp=sys.stdin.readline().replace("\n","")
x,y=map(int,sinp.split())
if(test()):print(sinp)
print(1+(handli(x,y,hri,wei)-1)*2)
主程式
def handli(x,y,h,w):
global grid
larsqu=1
center=grid[x][y]
if(test()):print(center)
#從中心點往外延伸最小值,確保之後取值不超出範圍
lar=min(minlar(x,h-1),minlar(y,w-1))
print(center,lar,end=" ")
#確認上下左右字元,是否符合中心點
for i in range(lar):
if(grid[x+i][y]!=center):
return i
if(grid[x-i][y]!=center):
return i
if(grid[x][y+i]!=center):
return i
if(grid[x][y-i]!=center):
return i
return lar+1
輔助程式
def minlar(xy,hw):
lar=min(xy,hw-xy)
return lar
inp()
程式虐我千萬遍,我待程式如初戀。
感謝撥冗閱讀