题目1250:矩阵变换
来源:互联网 发布:python 条件语句 编辑:程序博客网 时间:2024/06/05 02:47
- 题目描述:
对于一个整数矩阵,存在一种运算,对矩阵中任意元素加一时,需要其相邻(上下左右)某一个元素也加一,
现给出一正数矩阵,判断其是否能够由一个全零矩阵经过上述运算得到。
- 输入:
- 输出:
如果可以变换得到输出"Yes",否则"No"。
存在多组数据,每组数据第一行一个正整数n(n<=10),表示一个n*n的矩阵,然后紧跟n行,每行n个整数。当n为0时,测试结束。- 样例输入:
31 10 91 1 21 0 130 1 00 1 21 0 10
- 样例输出:
YesNo
1,设矩阵是A[n][n]
2,X=sum(A[i][j]其中i+j是奇数,Y=sum(A[i][j])其中i+j是偶数,则有X=Y
3,任意一个元素不大于周围四个元素的和
4,以上两点是充要条件AC Code:
#include <iostream>#include <cstdio>using namespace std;int maze[11][11];int n;int main(){ while(cin>>n && n){ for(int i= 0; i< n; ++i){ for(int j= 0; j< n; ++j){ scanf("%d",&maze[i][j]); } } int x= 0, y= 0; for(int i= 0; i< n; ++i){ for(int j= 0; j< n; ++j){ if((i+j)&1){ x+= maze[i][j]; }else{ y+= maze[i][j]; } } } if(x!= y){ printf("No\n"); continue; } int sum; bool ok=true; for(int i= 0; i< n && ok; ++i){ for(int j= 0; j< n && ok; ++j){ sum= 0; if(i> 0){ sum+=maze[i-1][j]; } if(j> 0){ sum+= maze[i][j-1]; } if(i< n-1){ sum+= maze[i+1][j]; } if(j< n-1){ sum+= maze[i][j+1]; } if(maze[i][j]> sum){ ok= false; break; } } } if(ok){ printf("Yes\n"); }else{ printf("No\n"); } }return 0;}
0 0
- 题目1250:矩阵变换
- 题目1250:矩阵变换
- 题目1250:矩阵变换
- 九度 题目1250:矩阵变换
- 矩阵变换
- 变换矩阵
- 矩阵变换
- 矩阵变换
- 九度OJ 1250:矩阵变换 (矩阵运算)
- 坐标变换 及矩阵变换
- 几何变换及变换矩阵
- NYOJ 题目298 点的变换(数学,矩阵相乘,模板经典)
- [caioj 1479,利用矩阵乘法解决的经典题目一]点的变换
- 旋转矩阵和变换矩阵
- OpenGL的变换矩阵
- 三维变换矩阵
- opengl 矩阵变换
- 图形学矩阵变换。
- 监测windows内存等系统参数模块 wmi
- TFTP服务器原理
- IOS学习笔记34—EGOTableViewPullRefresh实现下拉刷新
- 利用C/C++库函数读写文件的基本用法
- 一些常用的配置
- 题目1250:矩阵变换
- CreateFile详解
- 黑马程序员---Math-Random
- 如何让cocos2d-x程序写的更加简洁,各种宏的介绍
- loadrunner报错总结:Action(8):Error-26608:HTTP Status-Code=504(Gateway Time-out)
- CEF中文教程(google chrome浏览器控件) -- CEF简介
- Asp.Net构架(Http请求处理流程)、Asp.Net 构架(Http Handler 介绍)、Asp.Net 构架(HttpModule 介绍)
- java学习感悟
- 多线程编程札记