做移动网站点击软件吗,凡科做的网站打不开,网页游戏4399,网页设计制作价格最大子矩阵 描述 已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵#xff0c;你的任务是找到最大的非空(大小至少是1*1)子矩阵。 比如#xff0c;如下4*4的矩阵
0- 2 -7 0
9 2 -6 2 -4 1 -4 1
-1 8 0-2
的最大子矩阵是 9 2 -4 1 -18 这个子矩阵的大小是15。
输入…最大子矩阵 描述 已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵你的任务是找到最大的非空(大小至少是1*1)子矩阵。 比如如下4*4的矩阵
0- 2 -7 0
9 2 -6 2 -4 1 -4 1
-1 8 0-2
的最大子矩阵是 9 2 -4 1 -18 这个子矩阵的大小是15。
输入输入是一个N*N的矩阵。输入的第一行给出N(0N100)。再后面的若干行中依次(首先从左到右给出第一行的N个整数再从左到右给出第二行的N个整数…)给出矩阵中的N2个整数整数之间由空白字符分隔(空格或者空行)。已知矩阵中整数的范围都在[-127,127]。 输出 输出最大子矩阵的大小。 样例输入 4
0 -2 -7 0
9 2 -6 2
-4 1 -4 1
-1 8 0 -2 样例输出 15
#include iostream
using namespace std;
int main()
{int n;cinn;int a[110][110] {0};int b[110][110] {0};for(int i 1;in;i){for(int j 1;jn;j){cina[i][j];if(i1){b[i][j] b[i][j-1]a[i][j];}else{b[i][j] b[i-1][j]a[i][j]b[i][j-1]-b[i-1][j-1];}}}int cnt 0;int ma -99999;for(int i1 1;i1n-1;i1){for(int j1 1;j1n-1;j1){for(int i2 i11;i2n;i2){for(int j2 j11;j2n;j2){if(i11j11){cnt b[i2][j2];}else if(i1!1j11){cnt b[i2][j2]-b[i1-1][j2];}else if(i11j1!1){cnt b[i2][j2]-b[i2][j1-1];}else if(i1!1j1!1){cnt b[i2][j2]-b[i2][j1-1]-b[i2][j1-1]b[i1-1][j1-1];}ma max(cnt,ma);}}}}coutma;return 0;
} 均分纸牌 题目描述 有n堆纸牌(2n≤200)排成一行编号分别为1,2....n。已知每堆纸牌有一定的张数且张数之和均为n的倍数。移动各堆中的任意张纸牌使每堆的数量达到相同且移动次数最少。 移动规则:每次可以移动任意的张数第1堆可以移向第2堆第2堆可以移向第1堆或第3堆。第n堆只可以移向第n-1堆。
例如当n4时:
堆号1 2 3 4
张数3 5 4 8 移动的方法有许多种其中的一种方案:
① 第2堆向第1堆移动2张成为:5 3 4 8
②第4堆向第3堆移动3张成为:5 3 7 5
③第3堆向第2堆移动2张成为:5 5 5 5
经过三次移动每堆都成为5张。 输入 第一行一个整数n。 第二行n个整数用空格分隔。 输出 1个整数(表示最少移动次数)
样例
输入复制 4 3 5 4 8 输出复制 2
#include iostream
using namespace std;
int main()
{int n;cinn;int a[210] {0};int sum 0;for(int i 0;in;i){cina[i];sum suma[i];}sum sum/n;int cnt 0;for(int i 0;in;i){if(a[i]sum){a[i1] a[i1]-(sum-a[i]);a[i] sum;cnt;}else if(a[i]sum){a[i1] a[i1]a[i]-sum;a[i] sum;cnt;}}coutcnt;return 0;
}