矩阵的 OR ,也是醉了。

题目意思很简单,就是问你有没有这么一个矩阵,可以变化,得到输入的矩阵。

要求是这个矩阵每行都可以上下任意移动,每列都可以左右任意移动。

解题方法:

  1.也是导致我WA 的原因,首先要判断是否是一个零矩阵,如果是一个零矩阵,那么YES输出

  2.判断输入矩阵存在1的那个位置,在输出矩阵的同一行同一列是否存在1,如果没有则NO输出

  3.开辟数组X[MAXN],Y[MAXN]记录这一行或者这一列是否有0这个元素

//#pragma comment(linker, "/STACK:16777216") //for c++ Compiler
#include <stdio.h>
#include <iostream>
#include <cstring>
#include <cmath>
#include <stack>
#include <queue>
#include <vector>
#include <algorithm>
#define ll long long
#define Max(a,b) (((a) > (b)) ? (a) : (b))
#define Min(a,b) (((a) < (b)) ? (a) : (b))
#define Abs(x) (((x) > 0) ? (x) : (-(x)))
using namespace std; const int INF = 0x3f3f3f3f; int a[][], b[][], x[], y[];// Martix a as output Martix, Martix b as input Martix
int n, m; int main(){
int i, j, t, k;
while(EOF != scanf("%d%d",&n,&m)){
for(i = ; i <= n; ++i){
for(j = ; j <= m; ++j){
scanf("%d",&a[i][j]);
b[i][j] = a[i][j];
if(!a[i][j]){
x[i] = ;
y[j] = ;
}
}
}
bool ff = true;
for(i = ; i <= n; ++i){
for(j = ; j <= m; ++j){
if(x[i] || y[j]){ // nice cood
a[i][j] = ;
} else{
ff = false;
}
}
}
bool falg = false;
for(i = ; i <= n; ++i){
for(j = ; j <= m; ++j){
if(a[i][j]) falg = true;
}
}
if(ff) falg = true;
for(i = ; i <= n; ++i){
for(j = ; j <= m; ++j){
bool kk = false;
if(b[i][j]){
for(int ii = ; ii <= n; ++ii){
if(a[ii][j]) kk = true;
}
for(int jj = ; jj <= m; ++jj){
if(a[i][jj]) kk = true;
}
if(!kk){
falg = false;
}
}
}
} if(falg){
printf("YES\n");
for(i = ; i <= n; ++i){
for(j = ; j < m; ++j){
printf("%d ",a[i][j]);
}
printf("%d\n",a[i][m]);
}
}
else{
printf("NO\n");
}
}
return ;
}

最新文章

  1. Linux网络配置基础
  2. Android 手机卫士--九宫格使用
  3. tiny6410在I2c用户态中的程序设计eeprom
  4. 通过group by和having去除重复
  5. 湖南师范大学第五届大学生计算机程序设计竞赛--G--修路
  6. Android监听Button和ImageButton控件的点击事件
  7. S.O.L.I.D五大原则- 深入了解javascript
  8. z-index兼容问题:关于ie6/7下的z-index
  9. C#的cs文件中Response.Clear();Response.ClearHeaders()的作用
  10. 计算两点距离 ios
  11. 什么是 CSS 预处理器?
  12. ACE模板之Jqgrid
  13. jvm回收对象
  14. 对象Equals相等性比较的通用实现
  15. Python beautifulsoup 选择器 select 选择&lt;meta/&gt;等不需要成对结尾标签未写‘/’
  16. 详解QT5.10.0搭载OpenCV3.4.0环境配置步骤说明
  17. 【adb】执行adb devices 设备offline
  18. Microsoft Azure Tutorial: Build your first movie inventory web app with just a few lines of code
  19. android_双击退出
  20. 项目发布脚本-nodejs

热门文章

  1. ImageMagick还是GraphicsMagick?
  2. 在systemd(CentOS7)自启动zookeeper
  3. Dojo baseurl
  4. selenium - Headless Browser and scraping - solutions - Stack Overflow
  5. 自己动手写Java大整数《3》除法和十进制转换
  6. [置顶] Asp.Net底层原理(一、浏览器和服务器的交互原理)
  7. STL之使用vector排序
  8. 利用GDataXML解析XML文件
  9. 融合python2和python3
  10. plsql 的循环之 goto