题意:给定一个 n*m 的矩阵,表示有多少条道路与它相连,其中有一个-1,表示未知,道路只能横着和竖着,求-1处的值。

析:根据题意可知,一个点,与其他周围的四个点都可能相连的,也就是说肯定有共用道路的,所以,我们只要算四个点的数就好,然后依次推一下,就得到答案,

也就是说这里面的点可以分为两部分,一部分加起来减去另一部分,就是答案。

代码如下:

#pragma comment(linker, "/STACK:1024000000,1024000000")
#include <cstdio>
#include <string>
#include <cstdlib>
#include <cmath>
#include <iostream>
#include <cstring>
#include <set>
#include <queue>
#include <algorithm>
#include <vector>
#include <map>
#include <cctype>
#include <cmath>
#include <stack>
#define freopenr freopen("in.txt", "r", stdin)
#define freopenw freopen("out.txt", "w", stdout)
using namespace std;
typedef long long LL;
typedef pair<int, int> P;
const int INF = 0x3f3f3f3f;
const double inf = 0x3f3f3f3f3f3f;
const LL LNF = 0x3f3f3f3f3f3f;
const double PI = acos(-1.0);
const double eps = 1e-8;
const int maxn = 500 + 5;
const int mod = 1e9 + 7;
const int dr[] = {-1, 0, 1, 0};
const int dc[] = {0, 1, 0, -1};
const char *Hex[] = {"0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111", "1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111"};
int n, m;
const int mon[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
const int monn[] = {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
inline int Min(int a, int b){ return a < b ? a : b; }
inline int Max(int a, int b){ return a > b ? a : b; }
inline LL Min(LL a, LL b){ return a < b ? a : b; }
inline LL Max(LL a, LL b){ return a > b ? a : b; }
inline bool is_in(int r, int c){
return r >= 0 && r < n && c >= 0 && c < m;
} int main(){
int T; cin >> T;
while(T--){
scanf("%d %d", &n, &m);
int ans = 0, val;
for(int i = 0; i < n; ++i)
for(int j = 0; j < m; ++j){
scanf("%d", &val);
if(val <= 0) continue;
if(i+j & 1) ans += val;
else ans -= val;
} printf("%d\n", abs(ans));
}
return 0;
}

  

最新文章

  1. [bzoj3673][可持久化并查集 by zky] (rope(可持久化数组)+并查集=可持久化并查集)
  2. 这个jQuery导航菜单怎么样
  3. 解决java.lang.InstantiationError: sun.net.ftp.FtpClient
  4. RelayCommand
  5. AFNetworking实现程序重新启动时的断点续传
  6. [转]Valgrind简单用法
  7. ilasm.exe与ildasm.exe的使用(编译与反编译)
  8. String,StringBuffer与StringBuilder的差别??
  9. C++拾遗(二)关于变量
  10. poj 1466 Girls and Boys(二分匹配之最大独立集)
  11. 仿糯米弹框效果demo
  12. linux----LAMP之编译安装apache
  13. Java IO学习笔记(四)打印流
  14. Vue.js—组件快速入门以及实例应用
  15. jquery 循环数组输出显示在html页面
  16. 1.2MyBatis介绍
  17. 5.0-uC/OS-III时间管理
  18. 揭开yield关键字的神秘面纱
  19. item 6: 当auto推导出一个不想要的类型时,使用显式类型初始化的语法
  20. Java知多少(68)面向字符的输出流

热门文章

  1. css-装饰
  2. 小printf的故事:什么是真正的程序员?
  3. python发送post请求上传文件,无法解析上传的文件
  4. 【BZOJ1975】[Sdoi2010]魔法猪学院 A*
  5. iOS不用上架就能下载安装ipa应用内测:使用FIR.im发布自己的移动端APP
  6. Android笔记之获取应用程序文件目录
  7. java读取properties文件中参数值
  8. mysql错误指令:Failed to open file &quot;file_name&quot; error 2/error 22
  9. java之EJB
  10. Android JNI技术介绍【转】