九度oj 题目1250:矩阵变换
2024-09-06 09:01:32
- 题目描述:
-
对于一个整数矩阵,存在一种运算,对矩阵中任意元素加一时,需要其相邻(上下左右)某一个元素也加一,
现给出一正数矩阵,判断其是否能够由一个全零矩阵经过上述运算得到。
- 输入:
- 输出:
-
如果可以变换得到输出"Yes",否则"No"。
存在多组数据,每组数据第一行一个正整数n(n<=10),表示一个n*n的矩阵,然后紧跟n行,每行n个整数。当n为0时,测试结束。
- 样例输入:
-
3
1 10 9
1 1 2
1 0 1
3
0 1 0
0 1 2
1 0 1
0
- 样例输出:
-
Yes
No#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <iostream>
#include <cmath>
int matrix[][];
int dir[][] = {{,},{,-},{,},{-,}}; int main(int argc, char const *argv[])
{
int n;
while(scanf("%d",&n) != EOF && n != ) {
int x = , y = ;
for(int i = ; i < n; i++) {
for(int j = ; j < n; j++) {
scanf("%d",&matrix[i][j]);
if((i + j) & ) {
x = x + matrix[i][j];
}
else {
y = y + matrix[i][j];
}
}
}
if(x != y) {
puts("No");
continue;
}
bool isOk = true;
for(int i = ; i < n && isOk; i++) {
for(int j = ; j < n && isOk; j++) {
int sum = ;
for(int p = ; p < ; p++) {
int tmpx = i + dir[p][];
int tmpy = j + dir[p][];
if(tmpx >= && tmpx < n && tmpy >= && tmpy < n) {
sum = sum + matrix[tmpx][tmpy];
}
}
if(matrix[i][j] > sum) {
isOk = false;
break;
}
}
}
if(isOk) {
puts("Yes");
}
else {
puts("No");
} }
return ;
}这道题关键是找到判断的充要条件,这里的充要条件有两个(摘自http://www.cnblogs.com/liangrx06/p/5083814.html),
(1)X=sum(A[i][j]其中i+j是奇数,Y=sum(A[i][j])其中i+j是偶数,则有X=Y
(2)任意一个元素不大于周围四个元素的和
最新文章
- CSS选择器的权重与优先规则?
- js单选和复选框
- kali 密码攻击
- Apache shiro之身份验证(登陆)流程
- html+css学习笔记 2[标签]
- node.js 浏览器中输出 “hello world”
- ListView的item中有button和checkbox,listview的点击事件无效
- 转HTMLTestRunner 生成测试报告
- 《火球——UML大战需求分析》(第1章 大话UML)——1.4 如何学好UML?
- javascript之尺寸,位置,溢出
- android gridview画分割线
- v9.5.2上传缩略图/附件提示“undefined”
- app.config 配置多项 配置集合 自定义配置(3)
- pptpd免radius限速、限连接+自由定制功能脚本
- elk每日清除30天索引脚本
- 知识点:Mysql 索引优化实战(3)
- leetcode(js)算法605之种花问题
- python装饰器的详细解析
- TZOJ 3198: 区间和
- EVA索赔系统JAVA拦截例外站点
热门文章
- “Debug Assertion” Runtime Error on VS2008 VS2010 winhand.cpp
- 内存泄露--contentView缓存使用与ListView优化
- [jQuery] Cannot read property ‘msie’ of undefined错误的解决方法 --转
- 00_HTTP协议介绍
- Android计算器布局
- 计算机图形学:贝塞尔曲线(Bezier Curve)
- Mac如何让调整窗口大小更简单
- CPP-基础:TCHAR
- LeetCode || 大杂烩w
- easyui树节点拖拽排序的存储过程