解题思路:
引用自作者:胜利归来 https://blog.dotcpp.com/wangkaixuan01/
对每一组数据建立一个大小为10*5的数组,这里记为A
A[i][0]表示出现在图中最靠上的数字i的横坐标
A[i][1]表示出现在图中最靠下的数字i的横坐标
A[i][2]表示出现在图中最靠左的数字i的横坐标
A[i][3]表示出现在图中最靠右的数字i的横坐标
A[i][4]数字i在图中出现的次数
如果玩具摆放满足要求,那么所有在图中出现过的数字i满足
(A[i][1]-A[i][0]+1)*(A[i][3]-A[i][2]+1)= A[i][4]
注意事项:
参考代码:
from cmath import inf k = int(input().strip()) for t in range(k): A = [[inf,0,inf,0,0] for i in range(10)] #建立标记数组A n,m = map(int,input().strip().split()) for x in range(n): B = list(map(int,list(input().strip()))) for y in range(m): num = B[y] A[num][4] = A[num][4]+1 #更新数字num出现的次数 if x < A[num][0]: #更新数字num最靠上的值 A[num][0] = x if x > A[num][1]: #更新数字num最靠下的值 A[num][1] = x if y < A[num][2]: #更新数字num最靠左的值 A[num][2] = y if y > A[num][3]: #更新数字num最靠右的值 A[num][3] = y flag = 1 #判断结果 for i in range(10): if A[i][4]: if (A[i][1]-A[i][0]+1)*(A[i][3]-A[i][2]+1) != A[i][4]: flag = 0 break if flag: print('YES') else: print('NO')
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:640 |
简单的a+b (C语言代码)浏览:827 |
【亲和数】 (C语言代码)浏览:530 |
母牛的故事 (C语言代码)浏览:478 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:387 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:631 |
WU-陶陶摘苹果2 (C++代码)浏览:1018 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:592 |
愚蠢的摄影师 (C++代码)浏览:980 |
字符逆序 (C语言代码)浏览:675 |