新手光能
#include<iostream>
using namespace std;
int a[1001][1001],k[1001][1001];
int main(){
int m,n;
cin>>m>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
if(a[i][j]==0)
k[i][j]=1;
else
k[i][j]=0;
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(a[i][j]==0&&k[i][j]==1){
for(int k=1;k<=n;k++){
a[i][k]=0;
}
for(int k=1;k<=m;k++){
a[k][j]=0;
}
}
}
}
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
cout<<a[j][i]<<' ';
}
cout<<endl;
}
return 0;
}
中级守护
- #include<iostream>
- using namespace std;
- int main(){
- int m,n;
- cin>>m>>n;
- int a[m][n],b[m][n];
- for(int i=0;i<m;i++){
- for(int l=0;l<n;l++){
- cin>>a[i][l];
- b[i][l]=a[i][l];
- }
- }
- for(int i=0;i<m;i++){
- for(int l=0;l<n;l++){
- if(a[i][l]==0){
- for(int j=0;j<m;j++){
- b[j][l]=0;
- }//遍历行
- for(int j=0;j<n;j++){
- b[i][j]=0;//遍历列
- }
- }
- }
- }
- for(int i=0;i<m;i++){
- for(int l=0;l<n;l++){
- cout<<b[i][l]<<" ";
- }
- cout<<endl;
- }
- return 0;
- }