输入一个n,m,代表接下来输入的矩阵有n行m列然后输入n行m列的矩阵字符,例如:y o uo u r然后,计算能够组成直角三角形的个数,直角三角形的三个角必须分别是y,o,u,直角一定是在矩阵中的点上的最后,一共有多少个这样的三角形?其实我当时是有思路的,但是写成了shit山,真的调不回来了思路是统计每行有多少个y o u然后分类讨论#2while(1):    line = input().strip()    if len(line)<=0:break    line = line.split(' ')    n,m = int(line[0]),int(line[1])    matrix = []    for _ in range(n):        s = input().strip().split(' ')        matrix.append(list(s))    row_y,row_o,row_u = [0]*(n),[0]*(n),[0]*(n)    col_y,col_o,col_u = [0]*(m),[0]*(m),[0]*(m)    for i in range(n):        row_y[i],row_o[i],row_u[i] = matrix[i].count('y'),matrix[i].count('o'),matrix[i].count('u')    for j in range(m):        y,o,u = 0,0,0        for i in range(n):            y+=(1 if matrix[i][j]=='y' else 0)            o+=(1 if matrix[i][j]=='o' else 0)            u+=(1 if matrix[i][j]=='u' else 0)        col_y[j],col_o[j],col_u[j] = y,o,u    res = 0    for i in range(n):        for j in range(m):            if matrix[i][j]=='y':res+= (row_o[i]*col_u[j] + row_u[i]*col_o[j])            elif matrix[i][j]=='o':res+= (row_y[i]*col_u[j]+row_u[i]*col_y[j])            elif matrix[i][j]=='u':res+= (row_y[i]*col_o[j]+row_o[i]*col_y[j])    print(res)            
点赞 5
评论 0
全部评论

相关推荐

吴offer选手:网易这个双机位麻烦死了
投递网易等公司10个岗位
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-21 11:29
凉风落木楚山秋:他们两都收获了流量,只有爷浪费了时间
点赞 评论 收藏
分享
08-14 13:51
门头沟学院 Java
没有任何游戏经验....
投递米哈游等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务