首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
水晶之夜
2016-09-19 21:15
重庆理工大学 Java
关注
已关注
取消关注
求问0919赛码网完美世界的笔试编程题
一道是游戏补丁升级问题,一道是方块消除,统计剩余方块数量问题。。
感觉鬼了,2道编程题感觉基本没做。。。
提示
全部评论
推荐
最新
楼层
BlZheng
暨南大学 安卓
献上我的代码,可惜就差一点时间就到了...... import java.util.Scanner; public class WanMeiShiJie { public static final int EMPTY = Integer.MAX_VALUE; public static final int RED = 0; public static final int GREEN = 1; public static final int BLUE = 2; public static final int YELLOW = 3; public static final int PURPLE = 4; public static final int[][] p = { {RED,RED,BLUE,BLUE,GREEN,YELLOW,BLUE,YELLOW,RED,PURPLE}, {GREEN,GREEN,GREEN,BLUE,RED,PURPLE,RED,YELLOW,YELLOW,BLUE}, {BLUE,RED,RED,YELLOW,YELLOW,PURPLE,BLUE,GREEN,GREEN,BLUE}, {YELLOW,RED,BLUE,YELLOW,BLUE,RED,PURPLE,GREEN,GREEN,RED}, {YELLOW,RED,BLUE,BLUE,PURPLE,GREEN,PURPLE,RED,YELLOW,BLUE}, {PURPLE,YELLOW,RED,RED,YELLOW,RED,PURPLE,YELLOW,RED,RED}, {YELLOW,YELLOW,GREEN,PURPLE,GREEN,RED,BLUE,YELLOW,BLUE,GREEN}, {RED,YELLOW,BLUE,BLUE,YELLOW,GREEN,PURPLE,RED,BLUE,GREEN}, {GREEN,GREEN,YELLOW,YELLOW,RED,RED,PURPLE,BLUE,BLUE,GREEN}, {PURPLE,BLUE,RED,RED,PURPLE,YELLOW,BLUE,RED,RED,GREEN}}; public static void main(String[] args) { int numR, numG, numB, numY, numP; numR = numG = numB = numY = numP = 0; for(int i = 0; i < p.length; i++){ for(int j = 0; j < p[0].length; j++){ switch (p[i][j]) { case RED: numR++; break; case GREEN: numG++; break; case BLUE: numB++; break; case YELLOW: numY++; break; case PURPLE: numP++; break; default: break; } } } System.out.println("inital :" + numR + " " + numG + " " + numB + " " + numY + " " + numP ); Scanner cin = new Scanner(System.in); while(cin.hasNextLine()){ String str = cin.nextLine(); String[] nums = str.split(" "); for(String num : nums){ int click = Integer.parseInt(num); int x = click / 10; int y = (click - 1) % 10; int color = p[x][y]; int delete = countContinue(p, x, y); switch (color) { case RED: numR -= delete; break; case GREEN: numG -= delete; break; case BLUE: numB -= delete; break; case YELLOW: numY -= delete; break; case PURPLE: numP -= delete; break; default: break; } for(int i = 0; i < p[0].length; i++){ if(p[p.length - 1][i] == EMPTY) moveCols(p, i); } } System.out.println(numR + " " + numG + " " + numB + " " + numY + " " + numP ); } } public static int countContinue(int[][] p, int x, int y){ int color = p[x][y]; int start = x; int count = 1; while(start + 1 < p.length && p[start + 1][y] == color){ start ++; } int idx = start; while(idx - 1 >= 0 && p[idx - 1][y] == color){ count ++; idx--; } dispearCol(p, y, start, count); int beforeY = y - 1; int afterY = y + 1; while(beforeY >= 0 && p[x][beforeY] == color){ dispearCol(p, beforeY, x, 1); beforeY--; count++; } while(afterY < p[0].length && p[x][afterY] == color){ dispearCol(p, afterY, x, 1); afterY ++; count++; } return count; } public static void dispearCol(int[][] p, int col, int start, int count){ int j = start; for(int i = start - count; i >= 0; i--, j--){ p[j][col] = p[i][col]; } for(; j >=0; j--) p[j][col] = EMPTY; } public static void moveCols(int[][] p, int col){ for(int i = col, j = i + 1; j < p[0].length; i++, j++){ for(int k = 0; k < p.length; k++){ p[k][i] = p[k][j]; } } if(col < p[0].length - 1){ for(int k = 0; k < p.length; k++){ p[k][p[0].length - 1] = EMPTY; } } } }
点赞
回复
分享
发布于 2016-09-19 21:34
牛客723207号
吉林大学 安卓
消消乐做了一小时,,
点赞
回复
分享
发布于 2016-09-19 21:16
dmg
中国矿业大学 前端工程师
感觉真的挺难的。。。
点赞
回复
分享
发布于 2016-09-19 22:39
EdisonPan
华南农业大学 Java
补丁那个究竟用什么数据结构放啊,只能白卷了
点赞
回复
分享
发布于 2016-09-19 22:17
pool
东南大学 前端工程师
补丁升级那题可以想象成有向图求最短路径
点赞
回复
分享
发布于 2016-09-19 21:48
牛客135910号
Java
消消乐题目本身错了吧..另外一个是 DFS
点赞
回复
分享
发布于 2016-09-19 21:32
换个马甲就不认识了
重庆大学 Java
第一题写了一半不想写了,写不出来,真心跟你们这些刷acm的没法比....第二题一看题目那么长直接放弃了
点赞
回复
分享
发布于 2016-09-19 21:25
徘徊的路人甲
未填写教育信息 后端工程师
太凶残了
点赞
回复
分享
发布于 2016-09-19 21:23
就是不告诉你
家里蹲大学 C++
第一题我感觉就是最短路径 消消乐没时间做
点赞
回复
分享
发布于 2016-09-19 21:18
superlxing
西安电子科技大学 Java
同求 。。。
点赞
回复
分享
发布于 2016-09-19 21:17
暂无评论,快来抢首评~
相关推荐
12-27 13:56
已编辑
门头沟学院 测试开发
校招 字节绿洲游测 一面
自我介绍你认为游戏测试工程师最需要的三个特质?你平时玩什么游戏?段位/角色?拷打实习如果测试一款无线鼠标,有哪些测试点?在 Windows 下选 5 个软件测试鼠标兼容性?接口用例设计手撕:图像填充,DFS 或 BFS是否使用 AI 辅助工作?有哪些实践?未来职业规划?反问
查看7道真题和解析
点赞
评论
收藏
分享
昨天 15:09
腾讯_HR(准入职员工)
腾讯云智研发内推,腾讯云智研发内推码
真实体验是有超好的导师制定成长计划,全程辅导,各种腾讯内部学习网站和资料,上下班班车接送,然后基本一月团建一次。工作压力中等,百分之70情况能6点多下班,其他情况一般在8点左右。早投递,早筛选,早拿offer.!!!敲重点 用我的内推码投递后一定要评论区留言mark一下,以后好找我查进度,我秋招就是随便填别人的内推码,后来查进度都不知道找谁。惨痛的经历。腾讯集团旗下|云智研发公司26届校招内推启动!【公司简介】云智研发公司是腾讯旗下的子公司,公司坚持投资区域书,布局研发人才,聚集云和智慧产业基础产品和行业标准产昂的研发。推进云与产业互联网战略落地,助力产业数字化转型升级,公司规模超过5000人...
腾讯成长空间 5981人发布
点赞
评论
收藏
分享
11-04 21:34
安阳师范学院 Java
我感觉秋招offer不发给我是应该的。
双飞的鼠鼠在秋招收到为数不多的面试机会,也能让我记错时间,把11月三号记成周三面试。今天晚上刚做完数字马力的笔试,发给我面试邀请,我还以为是调整时间,没想到是我鸽了人家面试,人家又给我发了一次机会,家人们我还有希望吗?本来就不行,还鸽了人家感觉机会更渺茫了,我感觉秋招offer不发给我是应该的。
点赞
评论
收藏
分享
12-29 15:06
已编辑
门头沟学院 机械结构工程师
2026届机械秋招投递记录20-联合电子
1-电机机械设计工程师-太仓8.26投递-9.15电话沟通-9.19技术、HR面试(线下)(1)9.19-技术面+HR面(线下)1自我介绍2硕士项目深挖3硕士项目2深挖4岗位和地点问题5英文问答6期望薪资7有哪些offer,进展怎么样,期望工作行业是什么8家庭情况等
查看8道真题和解析
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
大四双非水产专业上岸阿里后端(五)
1.1W
2
...
适可而止吧!你就是“烂泥”
4194
3
...
我的世界观,就是对抗优绩主义的武器
3425
4
...
实习被“放养”零产出,该及时止损还是继续苟着?
3425
5
...
牛客2025年度报告—道心初立,夯实基础
3182
6
...
寒假实习会影响暑期投递吗?
1787
7
...
大厂工作强度从夯到拉,B站真爽
1593
8
...
被问有没有男朋友 如果有同事欺负你怎么办
1538
9
...
没人带+同事冷漠,真的会内耗
1425
10
...
求支招
1216
创作者周榜
更多
正在热议
更多
#
对2025年忏悔
#
1218次浏览
18人参与
#
联影求职进展汇总
#
165071次浏览
831人参与
#
实习没人带,苟住还是跑路?
#
6678次浏览
150人参与
#
非技术岗简历怎么写
#
274734次浏览
3168人参与
#
元旦假期你打算怎么过
#
4456次浏览
117人参与
#
春招前还要继续实习吗?
#
1475次浏览
26人参与
#
你做过哪些dirty work
#
25006次浏览
155人参与
#
妈妈治愈了你哪些脆皮时刻
#
38375次浏览
338人参与
#
面试官问过你最刁钻的问题是什么?
#
3434次浏览
54人参与
#
大家实习都在做什么?
#
5849次浏览
58人参与
#
一人说一家双休的公司
#
3386次浏览
54人参与
#
毕业论文怎么查AI率
#
70080次浏览
1938人参与
#
运营面经
#
148894次浏览
1329人参与
#
我来点评面试官
#
37615次浏览
163人参与
#
我们是不是被“优绩主义”绑架了?
#
6377次浏览
214人参与
#
实习/项目/竞赛奖项,哪个对找工作更重要?
#
102505次浏览
1185人参与
#
牛客2025仙途报告
#
28637次浏览
374人参与
#
职场中对你有帮助的书
#
25679次浏览
216人参与
#
查收我的offer竞争力报告
#
264311次浏览
1649人参与
#
面试等了一周没回复,还有戏吗
#
191963次浏览
1660人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务