首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
暂无评论,快来抢首评~
相关推荐
08-01 12:20
university of leeds 营销
小鹏到底在招谁啊
这是全挂的意思吗
投递小鹏汽车等公司10个岗位
点赞
评论
收藏
分享
07-31 18:22
门头沟学院 测试工程师
也是逆天了
熊大不大:
哈哈,你就说你是男生,也是受害者
点赞
评论
收藏
分享
07-15 15:24
湖南财政经济学院 PCB工程师
求实习岗位
求职岗位:能学习到东西就行(可接受出差)期望薪资:到手3k到5k专业:电子信息工程学历:本科期望工作地:长沙
点赞
评论
收藏
分享
06-12 17:08
天津理工大学 Java
求大佬点评简历,刚开始投好焦虑
27届双非,第一次投简历😭😭😭
想按时下班的大菠萝在...:
隔壁学校的,加油多投, 实在不好找可以下个学期开学找,把算法八股准备好,项目有空再换换
投了多少份简历才上岸
点赞
评论
收藏
分享
不愿透露姓名的神秘牛友
08-01 18:38
腾讯提前批一面有感
代码题都做上了,问了1个点基础知识没有答不上的,答上百分之95,希望有个好结果吧!
投递腾讯等公司10个岗位
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
百度提前批,三面被推迟一周,喜提秋招第一凉
7672
2
...
他拿大厂SSP Offer打牌是什么概念啊?25届双非之光
3266
3
...
虾皮秋招一面
3134
4
...
百度提前批 三面
2683
5
...
小鹏offer
1700
6
...
虾皮一面凉经
1520
7
...
被猿辅导挂了简历,但我想说...
1440
8
...
最强本科✌
1409
9
...
上班一周,工资还没拿,先欠公司两千
1391
10
...
大学四年,我感觉我像个“孤勇者”
1240
创作者周榜
更多
正在热议
更多
#
简历上的经历如何包装
#
30131次浏览
825人参与
#
秋招被确诊为……
#
164488次浏览
757人参与
#
中兴秋招
#
206079次浏览
2300人参与
#
工作中哪个瞬间让你想离职
#
63980次浏览
571人参与
#
Offer比较,你最看重什么?
#
193987次浏览
1313人参与
#
和同事相处最忌讳的是__
#
24717次浏览
245人参与
#
找工作如何保持松弛感?
#
91938次浏览
1111人参与
#
26届的你,投了哪些公司?
#
46299次浏览
501人参与
#
你遇到最难的面试题目是_
#
16868次浏览
201人参与
#
我对___祛魅了
#
49303次浏览
442人参与
#
你最希望上岸的公司是?
#
135375次浏览
706人参与
#
虾皮求职进展汇总
#
249771次浏览
1869人参与
#
柠檬微趣工作体验
#
6782次浏览
40人参与
#
投格力的你,拿到offer了吗?
#
86944次浏览
584人参与
#
你跟室友的关系怎么样?
#
7395次浏览
111人参与
#
通信硬件岗投递时间线
#
18827次浏览
69人参与
#
你最讨厌面试问你什么?
#
28612次浏览
314人参与
#
什么样的背景能拿SSP?
#
38753次浏览
227人参与
#
地平线求职进展汇总
#
52692次浏览
370人参与
#
如何看待offer收割机的行为
#
817445次浏览
6096人参与
#
如何快速融入团队?
#
17090次浏览
206人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务