首页 > 编程语言 >NOJ南邮上机 矩阵变换问题 PROB1020 Python

NOJ南邮上机 矩阵变换问题 PROB1020 Python

时间:2024-03-20 19:32:11浏览次数:14  
标签:PROB1020 输出 matrix NOJ 南邮 矩阵 range 样例 zero

PROB1020    矩阵变换问题

描述:

给定一个 n×m的矩阵,对于 初始矩阵 中所有值为 1 的元素,重置其 所在行列 的所有元素为 0,最后输出整个修改后的矩阵。

输入:

输入共包含 1+n 行。

第一行包两个整数 n 和 m, 分别表示矩阵的长和宽,题目保证 2≤n,m≤700 且 4≤n×m≤180000。

接下来 n 行,每行包含 m 个整数,第 i 行第 j 个整数表示矩阵中坐标 (i,j)的值 Ai,j,题目保证 0≤Ai,j≤1e8。

输出:

输出共包含 n 行,每行包含空格分隔 m 个整数。

第 i 行第 j 个整数表示修改后的矩阵中坐标 (i,j)的值 Ai,j。

请注意输出中每行行末最后一个数字后面紧跟换行符,不能包含空格。

样例输入:

3 3
3 4 5
0 1 2
6 7 8

样例输出: 

3 0 5
0 0 0
6 0 8

 

样例输入:

3 4
1 2 3 1
4 5 6 7
8 9 10 11

样例输出: 

0 0 0 0
0 5 6 0
0 9 10 0

 

 基于python实现的代码:

def change_matrix(n, m, matrix):
    rows_to_zero = set()
    cols_to_zero = set()
    for i in range(n):
        for j in range(m):
            if matrix[i][j] == 1:
                rows_to_zero.add(i)
                cols_to_zero.add(j)
    reset_matrix = [[0 if i in rows_to_zero or j in cols_to_zero else matrix[i][j] for j in range(m)] for i in range(n)]
    return reset_matrix
n, m = map(int, input().strip().split())
matrix = [[int(cell) for cell in input().strip().split()] for _ in range(n)]
modified_matrix = change_matrix(n, m, matrix)
for row in modified_matrix:
    print(' '.join(map(str, row)))

标签:PROB1020,输出,matrix,NOJ,南邮,矩阵,range,样例,zero
From: https://blog.csdn.net/m0_63593938/article/details/136883645

相关文章

  • NOJ南邮上机 最大公约数和最小公倍数 PROB1006 Python
    PROB1006  最大公约数和最小公倍数描述:求两个正整数的最大公约数和最小公倍数输入:两个正整数A,B输出:两个正整数的最大公约数、最小公倍数样例输入:43样例输出:112defmax_gcd(a,b):whileb!=0:temp=a%ba=bb=temp......
  • NOJ 六数码问题(代码+详解)
    描述现有一两行三列的表格如下:ABCDEF把1、2、3、4、5、6六个数字分别填入A、B、C、D、E、F格子中,每个格子一个数字且各不相同。每种不同的填法称为一种布局。如下:135246布局1256431布局2定义α变换如下:把A格中的数字放入B格,把B格中的数字放入E格,把E格中的......
  • NOJ题解
    NOJ题解30-40素数埃氏筛,欧拉筛都可可变参数累加/平均用给出的库函数即可基思数根据题意模拟#include<stdio.h>#definelllonglongllnum[102];inlineboolIsKeith(lln){inttot=0,t=0;lls=n;while(s){num[++tot]=s%10......
  • NOJ 8皇后问题 (n皇后问题)
    描述:输出8皇后问题所有结果。输入:没有输入。输出:每个结果第一行是Non:的形式,n表示输出的是第几个结果;下面8行,每行8个字符,‘A’表示皇后,‘.’表示空格。不同的结果中,先输出第一个皇后位置靠前的结果;第一个皇后位置相同,先输出第二个皇后位置靠前的结果;依次类推。输出样例:输出......
  • NOJ[1143] 字母转换
    描述:通过栈交换字母顺序。给定两个字符串,要求所有的进栈和出栈序列(i表示进栈,o表示出栈),使得字符串2在求得的进出栈序列的操作下,变成字符串1。输出结果需满足字典序。例如TROT到TORT:[iiiiooooioiiooio]输入:给定两个字符串,第一个字符串是源字符串,第二个字符......
  • RQNOJ 658(观光公交)
    几大注意点:1.一次使用氦气加速器会把后面分成好几段。2.我们仅维护end[i],wait[i]恒定,因此需提前让wait[i]=max(wait[i-1],wait[i]);3.w[i]+w[i+1]+...+w[j],且w恒定,故可预......
  • RQNOJ 698(矩形计数-圆内接矩形数)
    查看题目ShowProblem题目:矩形计数问题编号:698题目描述给出圆周上的N个点,请你计算出以这些点中的任意四个为四个角,能构成多少个矩形。点的坐标是这样描述的,给定一......
  • 算法分析与设计 西工大 noj 第二次实验
    算法分析与设计西工大noj第二次实验ProblemA0-1背包问题时限:1000ms内存限制:10000K总时限:3000ms描述:需对容量为c的背包进行装载。从n个物品中选取装入背包的物......
  • nojejs 弹出子窗口,取值后返回
    1、主窗口:<!DOCTYPEhtml><html><head><metacharset="UTF-8"><title>Inserttitlehere</title><scriptsrc="javascripts/jquery-3.2.1.min.js"></script></head......