近日,一名记者“火”了。 315记者“老K”讲述卧底汽车销售公司经历,当年为了揭露某二手汽车交易平台欺骗消费者的问题,卧底到一家公司做销售。为了拿到核心资料和证据,一着急一努力便从销售做到了高管。不仅工资水涨船高,手下还有了十几个小弟。台里怕他“叛变”,每天一通电话嘘寒问暖... 闻言,一名计算机老师笑了笑,梳了梳头发,“看来我数学老师的身份瞒不住了” 其实在信息学竞赛中,脱离不开数学,比如围圈报数。 对于这道问题,我们可以使用模拟法的思路,将整个游戏进行模拟,也就是声明一个bool类型的数组长度为n,初始时将所有状态初始化为0。
那么现在对整个数组进行模拟,如果这个人的状态为0,说明没有离开,进行计数,如果计数到m,则将该人的状态设置为1,即标记该人离开,同时清空计数,以及将剩余人数减去一人,并输出,直到剩余人数为0。 现在,我们来对题目进行变换,改变游戏规则,如果我们只希望直到最后一个出列的是谁呢? 当然,我们依旧可以用上述的方法,对整个游戏进行模拟,但是,如果我们对数学知识比较了解,这就转换成了一个约瑟夫环问题。
于是,我们就可以直接根据公式,得到答案。 而类似的问题,在信息学中并不少见,对于信息学而言,数学基础或许并非必须,但如果具备一定数学基础,会对信息学的学习有很大的帮助。
当然,也正因如此,在信息学的学习过程中,也会融合许多“其他学科”的知识。
|