2017网易游戏雷火盘古实习生招聘笔试真题
1.给定一个字符串,请你将字符串重新编码,将连续的字符替换成“连续出现的个数+字符”。比如字符串AAAABCCDAA会被编码成4A1B2C1D2A。
#include<stdio.h>
#include<string.h>
char s[10004];
int main(){char tem='0';int cot;int len;scanf("%s",s);len=strlen(s);for(int i=0;i<len;i++){if(s[i]!=tem){if(i!=0){printf("%d%c",cot,tem);}tem=s[i];cot=1;}elsecot++;}printf("%d%c",cot,tem);return 0;
}
2.在一个N*N的数组中寻找所有横,竖,左上到右下,右上到左下,四种方向的直线连续D个数字的和里面最大的值
#include<stdio.h>
int a[102][102];
int n, d;
int max(int a, int b) {return a > b ? a : b;
}
int main() {scanf("%d%d", &n, &d);for (int i = 1; i <= n; i++) {for (int j = 1; j <= n; j++) {scanf("%d", &a[i][j]);}}int ans = -1;int tem = 0;//横for (int i = 1; i <= n; i++) {tem = 0;for (int k = 1; k <= d; k++) {tem += a[i][k];}ans = max(ans, tem);for (int j = d+1; j <= n; j++) {tem += a[i][j] - a[i][j - d];ans = max(ans, tem);}}//竖for (int j = 1; j <= n; j++) {tem = 0;for (int k = 1; k <= d; k++) {tem += a[k][j];}ans = max(ans, tem);for (int i = d + 1; i <= n; i++) {tem += a[i][j] - a[i - d][j];ans = max(ans, tem);}}//右下-上for (int i = 1; i <= n - d + 1; i++) {tem = 0;for (int k = 1; k <= d; k++)tem += a[k][k + i - 1];ans = max(ans, tem);for (int j = d + 1; j <= n; j++) {tem += a[j][i + j - 1] - a[j - d][i + j - 1 - d];ans = max(ans, tem);}}//右下-左for (int i = 1; i <= n - d + 1; i++) {tem = 0;for (int k = 1; k <= d; k++)tem += a[k + i - 1][k ];ans = max(ans, tem);for (int j = d ; i+j <= n; j++) {tem += a[i + j][j+1] - a[i + j - d][j - d+1];ans = max(ans, tem);}}//左下-右for (int i = 1; i <= n - d + 1; i++){tem=0;for (int k = 1; k <= d; k++) {tem+=a[i+k-1][n-k+1];}ans=max(ans,tem);for (int j = d; i+j <= n; j++) {tem += a[i + j][n - j] - a[i + j - d][n - j + d];ans = max(tem, ans);}}//左下-上for (int i = d; i <= n; i++) {tem = 0;for (int k = 1; k <= d; k++) {tem += a[k][i - k + 1];}ans = max(ans, tem);for (int j = i - d; j >= 1; j--) {tem += a[i - j + 1][j] - a[i - j + 1 - d][j + d];ans = max(ans, tem);}}printf("%d\n", ans);return 0;
}
/*
4 2
87 27 61
10 98 79 70
95 64 73 29
71 65 15 0
*/
3.大家一定玩过“推箱子”这个经典的游戏。具体规则就是在一个N*M的地图上,有1个玩家、1个箱子、1个目的地以及若干障碍,其余是空地。玩家可以往上下左右4个方向移动,但是不能移动出地图或者移动到障碍里去。如果往这个方向移动推到了箱子,箱子也会按这个方向移动一格,当然,箱子也不能被推出地图或推到障碍里。当箱子被推到目的地以后,游戏目标达成。现在告诉你游戏开始是初始的地图布局,请你求出玩家最少需要移动多少步才能够将游戏目标达成。
这个题目使用BFS即可,将箱子和人的状态进行标记,避免重复搜索
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<queue>
using namespace std;
struct node {int bx, by, rx, ry, step;node() {step = 0;}
};
queue<node>q;
int n, m;
char mp[10][10];
bool vis[10][10][10][10];
int dir[][2] = { {1,0},{-1,0},{0,1},{0,-1} };
int main() {scanf("%d%d", &n, &m);for (int i = 0; i < n; i++) {scanf("%s", mp[i]);}node cur,tem;for (int i = 0; i < n; i++)for (int j = 0; j < m; j++) {if (mp[i][j] == 'X') {cur.rx = i; cur.ry = j;}else if (mp[i][j] == '*') {cur.bx = i; cur.by = j;}}memset(vis, false, sizeof(vis));q.push(cur);int ans = -1;while (!q.empty()) {cur = q.front();q.pop();if (mp[cur.bx][cur.by] == '@') {ans = cur.step;break;}vis[cur.bx][cur.by][cur.rx][cur.ry] = true;for (int i = 0; i < 4; i++) {tem = cur;tem.rx += dir[i][0];tem.ry += dir[i][1];if (tem.rx < 0 || tem.rx >= n || tem.ry < 0 || tem.ry >= m) continue;if (tem.rx == tem.bx && tem.ry == tem.by) {tem.bx += dir[i][0];tem.by += dir[i][1];if (tem.bx < 0 || tem.bx >= n || tem.by < 0 || tem.by >= m) continue;}if (mp[tem.rx][tem.ry] != '#' && mp[tem.bx][tem.by] != '#') {tem.step++;if(vis[tem.bx][tem.by][tem.rx][tem.ry]==false)q.push(tem);}}}printf("%d\n", ans);return 0;
}
4.在一条无限长的跑道上,有N匹马在不同的位置上出发开始赛马。当开始赛马比赛后,所有的马开始以自己的速度一直匀速前进。每匹马的速度都不一样,且全部是同样的均匀随机分布。在比赛中当某匹马追上了前面的某匹马时,被追上的马就出局。 请问按以上的规则比赛无限长的时间后,赛道上剩余的马匹数量的数学期望是多少
马的速度不同,则一定能由大到小排列。假设是a1>a2>……>an 那么a1在任何位置都可以存活 a2必须在a1后面才可以存活,因为路是无限长,所以概率是1/2 a3同理需要在a1和a2后面才能活,概率就是1/3 以此类推,期望是: 1+1/2+1/3+…..+1/n
#include <iostream>using namespace std;int main(){int n;scanf("%d", &n);double ans = 0;for (int i = 1; i <= n; ++i) {ans += 1.0 / i;}printf("%.4f\n", ans);return 0;
}
2017网易游戏雷火盘古实习生招聘笔试真题相关推荐
- 2018网易游戏雷火盘古实习生招聘笔试真题
2月15号参加的网易游戏实习在线笔试(内推),以为会考小题的,背了一天计算机网络和操作系统,结果拿到题只有4道编程大题,囧~如果没有一点算法竞赛的知识,想拿下来还是挺困难的.(网易游戏应该算国内笔试很 ...
- 2017网易游戏雷火盘古实习生招聘笔试:字符串编码
题目来源:伯乐在线 题目: 给定一个字符串,请你将字符串重新编码,将连续的字符替换成"连续出现的个数+字符".比如字符串AAAABCCDAA会被编码成4A1B2C1D2A. 输入描 ...
- 2017百度实习生招聘笔试真题编程题集合
1,买帽子 AC代码如下: import java.util.HashSet; import java.util.Scanner; import java.util.Set; import java. ...
- 京东2016实习生招聘笔试真题-技术岗位选择题A
今天是本学期第一次系统性的完成公司面试真题,或许已经偏晚了,希望以博客的形式把一些经常用到的算法或概念进行自我梳理与记忆. 1.gets是得到一整行的字符串; getchar是得到一个字符: scan ...
- 网易游戏雷火2020春招web前端工程师笔试卷0425
网易游戏雷火2020春招web前端工程师笔试卷0425 考试信息 笔试题型 详情 单选 不定项 编程题 问答题 考试信息 招聘单位:网易游戏雷火事业群校园招聘 岗位:前端开发工程师 回复时间:2020 ...
- 2021网易游戏雷火2021春招游戏功能测试工程师 笔试记录----春招补录
目录 2021网易游戏雷火2021春招游戏功能测试工程师 笔试记录----春招补录 单选题 逻辑题 问:最坏情况下,教授问到第几个学生,学生才知道自己头顶帽子的颜色? 2021网易游戏雷火2021春招 ...
- 齐商银行计算机岗面试题,2018齐商银行社会招聘笔试(真题笔经)
原标题:2018齐商银行社会招聘笔试(真题笔经) [中公金融人银行招聘网]提醒:2018齐商银行社会招聘笔试考试内容真题演练见以下正文.中公金融人为考生提供最新银行招聘时间预测.齐商银行招聘公告报考条 ...
- 网易游戏雷火防护工程师(测开)实习面经 | 掘金技术征文
杭州双非渣硕.前段时间师兄内推雷火,没有笔试直接打电话约我去面试了,地点在网易大厦.早上不到七点起床,晚上七点多才回到宿舍,可以说是很疲惫了. 本来面试现场投影上写的上午三轮交叉面,如果通过的话下午一 ...
- 2018年9月网易游戏雷火防护工程师秋招线下笔试
1.选择题,很多,都是单选.考察了TCP/IP,逻辑题,数字找规律题,数据结构(链表,图,二叉树),死锁,软件测试(黑盒白盒),C语言函数输出是什么,网络用语,哪个不是网易的游戏.难度不是很大,稍微复 ...
最新文章
- vc与matlab联合,浅析VC与Matlab联合编程(二) - VC知识库文章
- java动态代理--代理接口无实现类
- jQuery获取隐藏域和radio单项框的值
- 2016年3月16日作业
- Qt文档阅读笔记-QML RotationAnimation官方解析及实例
- enetics v1.5.0 绿色版
- # 安卓手机启动黑阈服务
- win10计算机自带的游戏怎么打开方式,win10自带游戏在哪里?手把手教你打开win10自带游戏...
- Python实现程序运行时间度量分析
- 计算机英特尔显卡在哪找,Win10英特尔显卡设置图标不见了该怎么办?
- 三维GIS视频融合监控平台
- js+ajax编码三级联动
- AD20 PCB导出Gerber、拼板,华秋DFM一键拼板,同理支持其他PCB EDA软件的Gerber导入与拼板
- Rancher2.6 Monitoring Grafana 对接 LDAP
- Tomcat服务器的默认端口是多少?怎样修改tomcat的端口?
- SSL Tomcat 双向认证
- 内存条上的数字代表的意义
- 数据库安全防护措施之防黑客攻击
- 2017-2018-1 Java演绎法 第二周 作业
- Java多用户(session)测试环境