问题标题: 酷町堂:4699

0
0
宫成
宫成
中级守护
中级守护

4699 矩阵置零经验值:1200 时间限制:1000毫秒

题目描述 Description

给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。例如,输入矩阵为

 

1 1 1

1 0 1

1 1 1

清零后,矩阵为

 

1 0 1

0 0 0

1 0 1

输入描述 Input Description

m+1行,第一行两个整数m、n,表示输入矩阵的大小

接下来m行,每行n个数,为0或1

 

输出描述 Output Description

清零后的矩阵,同一行相邻的数用空格隔开

 

样例输入 Sample Input

3 3

1 1 1

1 0 1

1 1 1

样例输出 Sample Output

1 0 1

0 0 0

1 0 1

数据范围及提示 Data Size & Hint

1<=m,n<=100

#include<iostream>

using namespace std;

int n,m,a[105][105],pos=0;

int main(){

cin>>n>>m;

for(int i=1;i<=n;i++){ // 1 0 1

for(int j=1;j<=m;j++){// 0 0 0

cin>>a[i][j]; // 1 0 1

}

}

for(int i=1;i<=n;i++){// i=2 j=2

/*if(pos==1){

break;

}*/

for(int j=1;j<=m;j++){

if(a[i][j]==0){

for(int q=1;q<=n;q++){

a[q][j]=1234567;

}

for(int p=1;p<=m;p++){

a[i][p]=1234567;

}

//break;

}

}

}

for(int i=1;i<=n;i++){

for(int j=1;j<=m;j++){

if(a[i][j]==1234567){

a[i][j]=0;

}

}

}

for(int i=1;i<=n;i++){

for(int j=1;j<=m;j++){

cout<<a[i][j]<<" ";

}

cout<<endl;

}

return 0;

}

为什么只有30分,哪错了?


0
於海洋
於海洋
高级光能
高级光能

我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  我爱挖坟  

0
汪宇航
汪宇航
新手启示者
新手启示者

看不懂。。。

#include <   >
using namespace std;
int main(){
    int m,n,a[   ][   ],b[  ][   ];
    cin>>m>>n;
    for(int i=1;i<=m;i++){
        for(int j=1;j<=n;j++){
            cin>>a[ ][ ];
            b[ ][ ]=a[ ][ ];
        }
    }
    for(int i=1;i<=m;i++){
        for(int j=1;j<=n;j++){
            if(!a[i][j]){
                for(int k=1;k<=m;k++){
                    b[ ][ ]=0;
                }
                for(int k=1;k<=n;k++){
                    b[ ][ ]=0;
                }
            }
        }
    }
    for(int i=1;i<=m;i++){
        for(int j=1;j<=n;j++){
            cout<<b[ ][ ]<<' ';
        }
        cout<<    ;
    }
    return 0;
}

空白自己想

我要回答