noip2010普及组pascal复赛解题报告

2024年11月22日 03:40
有6个网友回答
网友(1):

第四题的话是一个数学题,找出规律后编程难度0。。。。。。。。。,方法就是找出默契度第二大的,输出,下面是具体的:
解答本题,必须看清题意,知道以下几点
一、只需要选两次,由于比胜负靠的是双方武将中默契值最大的一对,所以除了默契值最大的一对,其他的武将都是没用的。并因为小涵先选,并且题目要求输出默契值尽量大的。所以必须两次定胜负,只要一开始选择最优方案,之后也就可以不用考虑了。
二、再深入分析,就会发现,小涵是输不了的。这是因为小涵永远掌握主动权,计算机一直都只是应付小涵,且大家可以举例证明——小涵选一个将,计算机选走搭配默契值最大的武将,然后小涵选走默契值次大的武将,计算机把小涵选走的两个武将中剩下搭配方案里默契值最大的选走。到这里就已经定下了胜负。此时,如果计算机的最大默契值比小涵的小,那么毫无疑问小涵就赢了。而如果计算机的武将搭配默契值比小涵的大,那么小涵完全可以换方法选,从计算机的方案的角度选,得到更优方案。依此类推,必定能赢。所以无论如何,小涵总会赢,我们可以直接把那个“1”输出来。大家如果光看我的描述不能理解,可以自己举例子仿照样例画一张表,就能理解了。
三、逐步分析所有情况,会发现。在一个武将和其他所有武将的搭配方案中,默契值最大的是拿不到的。因为小涵不能一下选两个,计算机又要和小涵抢。得到默契值最大的搭配方案,那是不可能的,想都别想。但是,小涵也没有这么悲剧,这个游戏规则也有对小涵有利的一面。在一个武将和其他武将的搭配中,默契值次大的那对,小涵可以稳拿。因为计算机会死板地被默契值最大的那对引开。这样搭配后默契值次大的武将,小涵就可以轻而易举地获得。
四、让我们看一下上方题目里的武将默契值关系表。我们先读入一个和它一样的默契值关系方阵。然后枚举行(也就是先枚举武将i,然后考虑他和其他武将搭配的默契值情况),让计算机取掉最大值所在的列(计算机必定会取走搭配默契值最大的武将),然后让小涵取次大值所在的列(选择默契值次大的搭配方案)。但如果小涵先取列呢?那就是先枚举列,让计算机取走最大值所在的行,小涵再取次大值所在的行。实际上,没有这个必要,默契值关系方阵是沿对角线对称的,每一列都有一行和它对应,而且数据相同。所以就不必考虑列的情况,直接枚举行就可以了。
想到这里,思路就出来了。搭配武将就可以简化成取次大的默契值。因为题目要求输出默契值最大的组合,并由于小涵只能选择默契值次大的组合。这个题目就简化成了求次大值中的最大值,也就是最大的次大值。

网友(2):

第一题是弱智题,用一个FOR把数都循环一遍,里面再用while剥皮看看有多少个2;
第二题弄一个数组,存放每个水龙头当前还需要多少时间装完这桶水;然后一个一个人去轮,每次找最快装完的水龙头,然后把那个时间加到答案里,再把数组的所有格都减去那个时间,接着把当前轮到的那个人所需的时间放到那个格子里;最后轮完以后,还要把数组里的最大值,注意,是最大值,加到答案里;
第三题 先用勾股定理算出每颗炸弹到两个系统的距离的平方,找近一点的那个系统,刷新它的半径平方(如果新半径平方比旧的要大的话);注意,这题不用开方,因为开方以后再平方等于什么也没做;
第四题其实是必胜的,答案是数组每一行第二大默契值中的最大者;
具体思路:设[A,C](数组里的)是答案,即[A,C]是A行第二大且是所有第二大中最大的;
那么我先选A武将,设[A,B] 是A行第一大,自然电脑会选B来拆散他们,因为[B,A]=[A,B],所以B行只有[B,A]比[A,C]大(因为[A,C]是所有第二大中最大的),那么电脑无论用B与其后任何所选武将搭配都不会比[A,C]大;然后我自然选C来获取[A,C],好,现在[A,C]到手了;接着我会用这样一个策略:无论电脑以后选什么,例如是X武将,我就选X行中剩余最大的那个默契值所对应的那个武将(即纵标);例如我选Y;如此一来,就可保证X行的最大值不会落入电脑手中也就是电脑最多只拿到X行的老二——这个老二还是不够[A,C]大。这样我就赢了。如何保证[A,C]是我能去的最大值呢?很简单,因为每行的第一是拿不到的,所以只好选最大的老二。
只可惜第四题当时没想出来,我就写了输0的编码,自然是一分不得。

网友(3):

您好,请稍后,不久我的解题报告就出了(百度文库)。
我是锦云,呵呵。
哈哈出来了:http://wenku.baidu.com/view/18044492daef5ef7ba0d3cfd.html
望采纳。

网友(4):

http://hi.baidu.com/sy2006ppkdc/blog/item/0dcaccf03d0d4640342acc0d.html

网友(5):

D3必须开数组。。。至今本人求D3的解。。。

网友(6):

第二题是求最少需多久,还是排好了队一个个接?