博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
uva10827-Maximum sum on a torus(矩阵最大和的变形)
阅读量:5794 次
发布时间:2019-06-18

本文共 1017 字,大约阅读时间需要 3 分钟。

题目大意:就是uva108的变形,矩阵能够连通,就是能够从后面连到前面。这里把矩阵复制三遍,然后又一次生成一个大的矩阵,就能够解决联通的问题。再枚举矩阵的起点和终点全部情况,保留最大值就能够了。

比如:1 2 3

       2 3 4

新的矩阵: 1 2 3  1 2 3

                   2 3 4  2 3 4

                   1 2 3   1 2 3

                   2 3 4   2 3 4

代码:

#include 
#include
const int N = 200;const int INF = 0x3f3f3f3f;int mat[N][N], temx[N], temy[N];int n;int Max (const int x, const int y) {return x > y? x: y;}int main () { int t; scanf ("%d", &t); while (t--) { scanf ("%d", &n); for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) { scanf ("%d", &mat[i][j]); mat[i][j + n] = mat[i + n][j] = mat[i + n][j + n] = mat[i][j]; } int mm = -INF; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { memset (temx, 0, sizeof (temx)); for (int x = i; x < i + n; x++) { for (int y = j; y < j + n; y++) { if (y == j) temy[y] = mat[x][y]; else temy[y] = temy[y - 1] + mat[x][y]; temx[y] += temy[y]; mm = Max (mm, temy[y]); mm = Max (mm, temx[y]); } } } } printf ("%d\n", mm); } return 0;}

转载地址:http://vxffx.baihongyu.com/

你可能感兴趣的文章
ELK实战之logstash部署及基本语法
查看>>
LINUX下防恶意扫描软件PortSentry
查看>>
如何 debug Proxy.pac文件
查看>>
Python 学习笔记 - 面向对象(特殊成员)
查看>>
Puppet 配置管理工具安装
查看>>
Bug多,也别乱来,别被Bug主导了开发
查看>>
高性能的MySQL(5)创建高性能的索引一B-Tree索引
查看>>
图片变形的抗锯齿处理方法
查看>>
Effective C++ Item 32 确保你的 public 继承模子里出来 is-a 关联
查看>>
phpstorm安装laravel-ide-helper实现自动完成、代码提示和跟踪
查看>>
TortoiseSVN中图标的含义
查看>>
Tasks and Back stack 详解
查看>>
成功的背后!(给所有IT人)
查看>>
在SpringMVC利用MockMvc进行单元测试
查看>>
Nagios监控生产环境redis群集服务战
查看>>
Python version 2.7 required, which was not foun...
查看>>
context:annotation-config vs component-scan
查看>>
经典sql
查看>>
typedef BOOL(WINAPI *MYFUNC) (HWND,COLORREF,BYTE,DWORD);语句的理解
查看>>
[BZOJ] 1012 [JSOI2008]最大数maxnumber
查看>>