网易游戏编程题第二题

int GetSum(vector<int> a,int N)
{
int sum=0;
if (N>a.size())
{
for (auto &i:a)
{
sum+=i;
}
}
else
{
for (int i = 0; i < N; i++)
{
sum+=a[i];
}
}
return sum;
}
int GetMaxMatrix(vector<vector<int>> matrix,int M ,int N)
{
vector<vector<int>> s(M,vector<int>(M,0));
vector<int> sum;
for (int j = 0; j < M; j++)
{
for (int i = 0; i < M; i++)
{
s[j][i]=matrix[i][j];
}
sum.push_back(GetSum(s[j],N));
}
for (int i = 0; i < M; i++)
{
for (int j = 0; j < M; j++)
{
s[i][j]=matrix[i][j];
}
sum.push_back(GetSum(s[i],N));
}
int delta=0;
while (delta)
{
vector<int> temp;
for (int i = delta,j=0; i <M&&j<M; i++,j++)
{
temp.push_back(matrix[i][j]);
}
sum.push_back(GetSum(temp,N));
delta++;
}
delta=0;
while (delta)
{
vector<int> temp;
for (int j = delta,i=0; j < M&&i<M; j++,i++)
{
temp.push_back(matrix[i][j]);
}
sum.push_back(GetSum(temp,N));
delta++;
}
delta=0;
while (delta)
{
vector<int> temp;
for (int i = delta,j=M; i <M&&j>=0; i++,j--)
{
temp.push_back(matrix[i][j]);
}
sum.push_back(GetSum(temp,N));
}
delta=M-1;
while (delta)
{
vector<int> temp;
for (int j = delta,i=0; j >=0&&i<M; j--,i++)
{
temp.push_back(matrix[i][j]);
}
sum.push_back(GetSum(temp,N));
delta--;
}
int MAX=sum.front();
for (auto& i:sum)
{
if (MAX<i)
{
MAX=i;
}
}
return MAX;
}

时间: 2024-10-17 15:10:30

网易游戏编程题第二题的相关文章

CSDN挑战编程——《金色十月线上编程比赛第二题:解密》

金色十月线上编程比赛第二题:解密 题目详情: 小强是一名学生, 同时他也是一个黑客. 考试结束后不久,他惊讶的发现自己的高等数学科目居然挂了,于是他果断入侵了学校教务部网站.在入侵的过程中,他发现了与成绩相关的内容是一个加密文件,这个文件由 n 个数构成,经过分析,这个加密文件的密钥为这 n 个数中二进制位数 1 最少的数.但由于数比较多,小强 希望你能帮他得到密钥,好在成绩公布之前将成绩改过来. 输入描述: 输入由多组数据构成,每组数据第一行为一个数 n(1<=n<=10^5),表示数的数量

C高级第一次作业 函数题第二题

函数第二题 int search( int list[], int n, int x ) { int i; for(i=0;i<n;i++) if (list[i]==x) return i; return -1; } 调用函数中需要从数组第一个元素开始判断是否与x相等,for循环控制循环次数,if判断语句 判断数组元素和输入的是否相等,相等则返回下标,循环都结束如果没找到,则返回-1. 原文地址:https://www.cnblogs.com/guoqiang666/p/8665653.htm

CSDN 四川大学线下编程比赛第二题:Peter的X

题目详情: http://student.csdn.net/mcs/programming_challenges Peter是个小男孩.他总是背不清26个英文字母. 于是,刁钻的英语老师给他布置了一个很奇怪的作业.老师给了他一个由26个英文字母构成的N*N 的矩阵(我们保证N一定是一个奇数),问他这个矩阵构成的图案是否是一个标准的"X". 一个标准的X的定义:1.对角线上全部元素都是同一个字母.2.全部非对角线上的元素也都是同一个字母.且字母与对角线上的字母不同. 假设是则输出&quo

金色十月线上编程比赛第二题:解密

题目详情: 小强是一名学生, 同时他也是一个黑客. 考试结束后不久,他惊讶的发现自己的高等数学科目居然挂了,于是他果断入侵了学校教务部网站.在入侵的过程中,他发现了与成绩相关的内容是一个加密文件,这个文件由 n 个数构成,经过分析,这个加密文件的密钥为这 n 个数中二进制位数 1 最少的数.但由于数比较多,小强 希望你能帮他得到密钥,好在成绩公布之前将成绩改过来. 输入描述: 输入由多组数据构成,每组数据第一行为一个数 n(1<=n<=10^5),表示数的数量,第二行 n 个整数表示文件中的每

腾讯2017暑期实习生编程题 第二题 字符移位

小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间. 你能帮帮小Q吗? 输入描述: 输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000. 输出描述: 对于每组数据,输出移位后的字符串. 输入例子1: AkleBiCeilD 输出例子1: kleieilABCD import java.util.ArrayList; import java.util.LinkedList; import java.util.

七中高新 NOIP模拟题 第二题 上低音号 题

由于这道题至今无人改掉(其实是没人想改),我就不去说题解了,只说说我当时考试的思路. 按照套路,先想暴力,很明显,枚举矩形形状再去暴力查询是人人都想得到的,但是复杂度O(n^4),而数据范围第一阶为n<=500,很明显,需要O(n^3)的复杂度,然后想到了类似扫描线的打发,完善后成功骗到30分. 我们可以先确定一下整个矩形的宽,然后去O(n^2)枚举宽所在的位置,再不断更新当前矩形的上边界的行数的最大值,我们就可以成功的在O(n^3)内完成答案统计. 至于k<=3的步骤分,我是真没想出来--

第一章-第二题Unity3D游戏引擎相关--By林培文

1) 此类软件是什么时候开始出现的, 这些软件是怎么说服你(陌生人)成为他们的用户的?  他们的目标都是盈利么?  他们的目标都是赚取用户的现金么?还是别的? 2004年,Unity3D诞生于丹麦哥本哈根,05年将总部设在了美国旧金山,并发布了Unity 1.0版本,支持MAC平台.随后几年,Unity3D陆续Windows.IOS及Android等平台,至2011构建完PS3和XBOX360,标志其全平台的构建完成.(参考<Unity诞生于发展> link:http://www.leipho

codejam round1c第二题

前阵子参加了Google的code jam,没有编程功底的人果然过不了第一关,不过事后重新做做还是挺有意思的,例如第一轮第三场的第二题,题目如下: 小明玩个游戏,一开始有N个火车车厢,每个车厢里都有字母,现在要组装火车,要求把所有车厢连在一起组成字符串,这个字符串要求相同的字母只能相邻,问现在有几种组装的方式.例如有三个车厢a,a,ab,组装的方式就有123,213两种. 题目讲完,现在来分析题目,先来考虑一个简单的情况,各个车厢的字母都是不一样的,相互独立,那么这时可拼装的方式一共有N!种,这

第二题、第三题、第四题

1.以编程方式操作 HttpCachePolicy 类. HttpCachePolicy.SetExpires HttpCachePolicy.SetCacheability |NoCache|Private|Public|Server|ServerAndNoCache |ServerAndPrivate 2<%@ OutputCache Duration="60" VaryByParam="None" %>Duration 和 VaryByParam