一个很难的C++典型题目

来源:百度知道 编辑:UC知道 时间:2024/06/17 08:21:55
班主任给我口述了一个C++题目,听起来挺复杂的,大家来看看!
大致内容是:一个棋盘(好像是围棋的),里面都是小方格组成,横着由10个方格组成,竖着由10个方格组成,每个方格可以容纳5个棋子,随手抓一把棋子仍在棋盘上,如果方格装满5个棋子后,多余后来进入的棋子将会被淘汰,然后将被淘汰的棋子排序,棋盘中间有一个方格出口,一把棋子争着从口出去,这个出口一次只能出去3个棋子,将先出去的排序,大概就是这样的,老师说是一道C++典型例题,哪位朋友见过,或者会做啊,大致提供一个思路也行。
扔一把棋子到棋盘中,一个方格只能装5个,多余的被淘汰,把淘汰的棋子按先后顺序排序,我愿意给出我所有的分数。
这是一个典型例题,应该有人见过吧,类似的也行。
cabeng说的很好,要是谁能编出来就好了。

听你说的意思,大概是写个模拟程序吧。
定义一个数组int pan[10][10]表示棋盘。
随机产生100个无重复的整数(<100),作为棋子。如果有重复的接着再产生。
接着随机产生两个数(<10),表示这枚棋子落下的位置。每落入一个格子,就在棋盘对应的位置中累加,直到有5个为止。
把超过5个位置的棋子存入数组,然后对这个数组排序.
我的思路只能走到这儿。

你说的我看不懂啊,能不能说明白些。
首先围棋不是10*10的棋盘,其次一把扔进去怎么能分出先后,再次为什么要一次一次的出去棋子,最后这道题要做出什么样的结果,说的很不明白啊

完全不明白你的意思。随手扔一把,怎么判断谁先谁后?多余的棋子,怎么判断谁先出谁后出?

同样不明白,关注中……

你可以用二维矩阵实现
变换可以用指针变换

听到我头晕。我是C语言的菜鸟。不懂。