时间限制:1 秒

内存限制:32 兆

特殊判题:否

提交:95

解决:47

题目描述:

对于一个整数矩阵,存在一种运算,对矩阵中任意元素加一时,需要其相邻(上下左右)某一个元素也加一,

现给出一正数矩阵,判断其是否能够由一个全零矩阵经过上述运算得到。

输入:
输出:

如果可以变换得到输出"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

思路:

设矩阵是A[n][n].

(1)&#8;X=sum(A[i][j]其中i+j是奇数,Y=sum(A[i][j])其中i+j是偶数,则有X=Y

(2)任意一个元素不大于周围四个元素的和

以上两点是充要条件.

代码:

#include <stdio.h>
#include <string.h> #define N 10 int main(void)
{
int n, i, j, flag;
int a[N+2][N+2];
int odd, even; while (scanf("%d", &n) != EOF && n)
{
memset(a, 0, sizeof(a));
odd = even = 0;
for(i=1; i<=n; i++)
{
for(j=1; j<=n; j++)
{
scanf("%d", &a[i][j]);
if ((i+j) % 2 == 0)
even += a[i][j];
else
odd += a[i][j];
}
} if (odd != even)
{
printf("No\n");
continue;
} flag = 1;
for(i=1; i<=n; i++)
{
for(j=1; j<=n; j++)
{
if (a[i][j] > a[i-1][j] + a[i+1][j] + a[i][j-1] + a[i][j+1])
{
//printf("i=%d, j=%d\n", i, j);
flag = 0;
break;
}
}
if (flag == 0)
break;
}
if (flag == 1)
printf("Yes\n");
else
printf("No\n");
} return 0;
}
/**************************************************************
Problem: 1250
User: liangrx06
Language: C
Result: Accepted
Time:0 ms
Memory:912 kb
****************************************************************/

九度OJ 1250:矩阵变换 (矩阵运算)的更多相关文章

  1. 九度oj 题目1087:约数的个数

    题目链接:http://ac.jobdu.com/problem.php?pid=1087 题目描述: 输入n个整数,依次输出每个数的约数的个数 输入: 输入的第一行为N,即数组的个数(N<=1 ...

  2. 九度OJ 1502 最大值最小化(JAVA)

    题目1502:最大值最小化(二分答案) 九度OJ Java import java.util.Scanner; public class Main { public static int max(in ...

  3. 九度OJ,题目1089:数字反转

    题目描述: 12翻一下是21,34翻一下是43,12+34是46,46翻一下是64,现在又任意两个正整数,问他们两个数反转的和是否等于两个数的和的反转. 输入: 第一行一个正整数表示测试数据的个数n. ...

  4. 九度OJ 1500 出操队形 -- 动态规划(最长上升子序列)

    题目地址:http://ac.jobdu.com/problem.php?pid=1500 题目描述: 在读高中的时候,每天早上学校都要组织全校的师生进行跑步来锻炼身体,每当出操令吹响时,大家就开始往 ...

  5. 九度OJ 1531 货币面值(网易游戏2013年校园招聘笔试题) -- 动态规划

    题目地址:http://ac.jobdu.com/problem.php?pid=1531 题目描述: 小虎是游戏中的一个国王,在他管理的国家中发行了很多不同面额的纸币,用这些纸币进行任意的组合可以在 ...

  6. 九度OJ 1024 畅通工程 -- 并查集、贪心算法(最小生成树)

    题目地址:http://ac.jobdu.com/problem.php?pid=1024 题目描述:     省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但 ...

  7. 九度OJ 1371 最小的K个数 -- 堆排序

    题目地址:http://ac.jobdu.com/problem.php?pid=1371 题目描述: 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4 ...

  8. 九度OJ 题目1384:二维数组中的查找

    /********************************* * 日期:2013-10-11 * 作者:SJF0115 * 题号: 九度OJ 题目1384:二维数组中的查找 * 来源:http ...

  9. hdu 1284 关于钱币兑换的一系列问题 九度oj 题目1408:吃豆机器人

    钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

随机推荐

  1. pip virtualenv requirements

    pip可以很方便的安装.卸载和管理Python的包.virtualenv则可以建立多个独立的虚拟环境,各个环境中拥有自己的python解释器和各自的package包,互不影响.pip和virtuale ...

  2. Java Enum的多态性

    转载自:http://pf-miles.iteye.com/blog/187155 Enum+多态,我没说错,不过Enum是不可以被继承的,也不可以继承自别人,只是能实现接口而已,何谈多态?不过还是先 ...

  3. 【Hadoop】HADOOP 总结--思维导图

  4. bitcoin-qt忘记密码

    客户端有钱包加密功能,输入密码可以增强安全性. 但是,如果你把钱包文件弄丢了,那即使设了密码,币也会丢. 关闭bitcoin-qt,把钱包文件wallet.dat 剪到其他地方(但不要删除),然后重新 ...

  5. Laravel之目录结构

    一.根目录 新安装的 Laravel 应用包含许多文件夹:• app 目录包含了应用的核心代码:• bootstrap 目录包含了少许文件用于框架的启动和自动载入配置,还有一个cache 文件夹用于包 ...

  6. Calculation 2-欧拉函数的运用

    Calculation 2 Time Limit: 1000MS   Memory Limit: 32768KB   64bit IO Format: %I64d & %I64u Submit ...

  7. (九)Thymeleaf用法——Themeleaf注释

    4. 注释 模板名称:comment.html 4.1 标准 HTML/XML注释       语法:<!--     -->      4.2 解析器级注释块(Parser-level ...

  8. Prometheus入门

    什么是TSDB? TSDB(Time Series Database)时序列数据库,我们可以简单的理解为一个优化后用来处理时间序列数据的软件,并且数据中的数组是由时间进行索引的. 时间序列数据库的特点 ...

  9. sql server 执行大.sql文件

    打开cmd执行:osql -S 127.0.0.1 -U sa -P sa -i d:\test.sql 执行后会提示输入密码.

  10. 【Lucene】Apache Lucene全文检索引擎架构之入门实战1

    Lucene是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会支持和提供.Lucene提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻.在Java开发环境里Lucene是一个成熟的 ...