一道蓝桥杯题目的题意理解?
733
2023.03.22
发布于 未知归属地

如题,有没有大佬能够讲解一下他那句注意当两个字母是从左下到右上排列时,从左向右看和从上向下看 是不同的顺序是什么意思?
image.png
感觉蓝桥的题目说的也不是很明白,纯暴力但是恶心......我感觉就是计算行和列,然后一三四象限对角线上的点不就行了吗?但是答案并不对,下面是我的代码:

mat = [[0 for _ in range(50)] for _ in range(30)]
for i in range(30):
    for j in range(50):
        mat[i][j] = s[30*i+j]
        
def cnt(x,y):
    ans = 0
    t = mat[x][y]
    #计算这一行的递增
    for i in range(y+1,50):
        if t<mat[x][i]:
            ans += 1
    #计算这一列的递增
    for i in range(x+1,30):
        if t<mat[i][y]:
            ans += 1
    #计算对角线
    l1 = min(x,49-y)
    for i in range(1,l1+1):
        if t<mat[x-i][y+i]:
            ans += 1
    l2 = min(29-x,49-y)
    for i in range(1,l2+1):
        if t<mat[x+i][y+i]:
            ans += 1
    l3 = min(y,29-x)
    for i in range(1,l3+1):
        if t<mat[x+i][y-i]:
            ans += 1
    return ans

tot = 0
for i in range(30):
    for j in range(50):
        tot += cnt(i,j)
评论 (5)