CF-SDUT-3360-
来源:互联网 发布:top域名能备案吗 编辑:程序博客网 时间:2024/06/07 14:24
题意:
这道是CF277div2的B题,题意是有种特殊的运算OR,矩阵A做运算得到B,对于每个位置的值,是由i列和j行做‘或’运算得到的结果,现在给你一个B的矩阵,看你能得到一个合适的A矩阵吗? 可以的话,输出YES,
思路:
对于B中0的那些点,所对应的A矩阵I行和J列,都是0,先把A中那些必然为0的点存上0,对于1的那些点,要去把该行和该列去做运算,
CODE
#include<iostream>#include<string.h>#include<stdlib.h>#include<stdio.h>#include<algorithm>using namespace std;int mp[150][150];struct node{ int x, y;}ls[11000];int main(){ int n, m; while(~scanf("%d%d",&n,&m)) { int tp = 0; memset(mp,-1,sizeof(mp)); int i, j; for(i = 0; i < n; i++) for(j = 0; j < m; j++) { int u; scanf("%d",&u); if(u == 1) { ls[tp].x= i; ls[tp++].y = j; } else { for(int ii = 0; ii < n; ii++) mp[ii][j] = 0; for(int jj = 0; jj < m; jj++) mp[i][jj] = 0; } } for(i = 0; i < tp; i++) { int x = ls[i].x; int y = ls[i].y; int ii , jj; for( ii = 0; ii < n; ii++) if(mp[ii][y]==-1) break; for(jj = 0; jj < m; jj++) if(mp[x][jj]==-1) break; if(ii < n || jj < m) continue; else break; } if(i == tp) printf("YES\n"); else printf("NO\n"); } return 0;}
0 0
- CF-SDUT-3360-
- SDUT 3903 CF【Dp+排序】
- 第八届山东省赛 sdut 3903 CF(贪心+dp)
- SDUT 2016级 CF 每周题集 Round 2
- SDUT 2016级 CF 每周题集 Round 5
- 2017 12 10 cf 个人赛--题解 SDUT 2017 Autumn Single Contest L
- CF
- CF
- cf
- cf
- CF
- CF
- CF
- CF
- CF
- CF
- cf
- CF
- php数组操作
- CSS基础2
- N!中末尾0的个数
- 大数加减法
- 原型和原型链详解
- CF-SDUT-3360-
- 大学入試改革―本当に実現できるのか
- Android加载大图Bitmap发生OOM(Out Of Memmory Error)解决方案
- 解决The Apache Axis2 Web service runtime in Tomcat v7.0 Server does not support the service project 问
- HDU 1565 方格取数(1)(最大独立点权覆盖 | 最小割)
- Butterknife使用(学习总结)
- hdu3336 Count the string(dp)
- Java拾遗-------多线程
- 11个PHP框架——Web开发人员最爱