算法题 2023西山居seed游戏开发c卷

前面是选择题和不定项选择题,然后给一段程序判断输出结果,比较印象深刻的是线程和512x512的rgb纹理图是多少kb还有一题渲染管线。前面的题比较细,想拿高分得基础掌握很扎实。

下面是算法题

第一题:给定一个nxn的二维数组,数组中的每个数字对应获得一个分数,要求从左上角(起点)走到右下角(终点)所获得的分数最大,貌似是这个意思,第一题比较简单,直接dfs从左上角遍历到右下角,用一个int类型来维护最大值就行了。这题暴力过了所有数据。

第二题:给定一个nxm的矩阵,其中0代表没有格子,1代表有格子,请找到含有格子数最多的行和列对应的点p,并将这个点行列的所有格子删除,然后继续找到下一个p删除,直到所有的格子都被删除,输出点的数量,以及点的行列。比如输入为,那么输出为1 (2,2),这题我的思路是直接暴力循环二维数组找到行和列中含有1最多的行列,然后将这个行列的所有1删除,然后继续遍历删除后数组中含有1最多的行列直到数组中所有的1全部删除。每次删除时将输出点数量+1.这题由于时间和思路问题,没有写出来,看群里大佬说暴力过了,比较遗憾。

这是后来结束以后写出来的,试了几个例子,没有问题

 

 

 

第三题 算法设计题,要设计一个玩法,五子棋,每个玩家可以放一个或者多个棋子,连接五个子的条数越多分数越高(就是你五子棋的连接的条数越多越好),貌似是这个意思,写出数据结构的设计和玩法。(第二题写的时间有点长还没写出来,所以第三题只是大概看了一下)

之后思考了一下,首先得设计一个棋盘,是一个二维数组,0表示空格,1表示黑棋,2表示白棋,然后设计玩家类,类中包含玩家的基本信息以及得分情况等,然后设计一个判断棋子是否连成五个字的函数,以及通过空格数目判断游戏是否结束的函数,如果空格数为0那么游戏结束,最后比较玩家的分数,分数高的获胜。

  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值