回收站选址-18次CCF-第二题python版本

题目描述:

回收站选址-18次CCF-第二题python版本_第1张图片回收站选址-18次CCF-第二题python版本_第2张图片回收站选址-18次CCF-第二题python版本_第3张图片


题目分析:

要求:
   1.(x,y)为整数坐标,且存在垃圾。在输入格式里面,规定输入整数x,y,并且用空格将其分开。所以,可以省略判断输入坐标是否为整数得个步骤。坐标就用元组存储,每一个坐标都放在List[]列表中。
   2.当前位置的上下左右四个相邻位置必须要存在垃圾。可用and来判断。
   3.统计当前位置的斜对角位置的垃圾数量count。可以用scoreList[count]来记录。
   4.最后注意输出的格式。


题目代码:

m = int(input())
List = []#放置元组
scoreList = [0]*5 #得分只有0~4 共5位 且需要全部初始化为0
for i in range(m):
    (x,y) = map(str, input().split())#空格分隔 x,y坐标
    x = int(x)
    y = int(y)
    List.append((x,y))
for (x,y) in List:
    if (x, y+1) in List and (x, y-1) in List and (x-1, y) in List and (x+1,y) in List: #条件1.上下左右均存在垃圾
        count = 0
        if (x-1,y-1) in List:
            count += 1
        if (x+1,y+1) in List:
            count += 1
        if (x+1,y-1) in List:
            count += 1
        if (x-1,y+1) in List:
            count += 1
        scoreList[count] += 1

for i in range(5):#输出每种得分的选址个数
    print(scoreList[i])


完结撒花-坚持每日一博

由于水平有限,本博客难免有不足,恳请各位大佬不吝赐教!

你可能感兴趣的:(刷题打卡(滴),python,算法,字符串,经验分享,程序人生)