2011年5月TOJ新生有奖月赛解题报告

2011年5月TOJ新生有奖月赛-by 0929210011

A:Medal Ranking in ZJCPC

题意:给出各个高校在ZJCPC上得的奖牌数(金牌,银牌,铜牌),然后找出our university 的排名,如果奖牌数相等,our university最优先。

 

B:Kaprekar's Constant

题意:前面一部分描述了Kaprekar's constant(黑洞数)的性质。对于任意的4位整数,只要至少有2位数字不同,经过一定的(2)(3)操作后总能在7步内变为6174.又因为是允许前导零的,所以小于4位的正整数一定有以上性质(0XXX,00XX,000X),那么考虑4位以上的数,对于4位以上的数经过一遍(2)(3)操作后一定是4位以上的数或者为0,不可能变为6174,所以4位以上的数一定是No;小于等于4位数,不满足的是1111 2222 3333……即n % 1111 == 0;

So if(log10(n) >= 4 || n % 1111 == 0) puts(“No”);

   else puts(“Yes”);

 

此外还可以模拟下题意中的操作,如果7步内能变为6174,就输出Yes,否则输出No。

 

C:密保卡

题意:就是给一个数字然后在密保卡中找哪三个数可以拼接成这个数,

这里理解上有个问题,同一个位置的数字能不能被使用多次,我理解着是不能重复使用,

这里题目严谨性就有点问题,所以提示中加了限制这三个数的位置不能一样

其实这个题目愿意是暴力枚举把密保卡中所有可能的排列找出来,跟需要查找的数进行比较,如果一致就输出

题目中限制输出的条件,其实就是要求按照行优先,再按照列优先暴力枚举,把所有的组合都找出来,然后与输入的比较下,相等的话输出其坐标。

另外这题更有技巧的是可以先拆分开了三个数之后分别去表中查找,时间上会更快;

 

D:Beautiful world outside!

题意:按照题目中的图,在给定d1 d2 r w h 判断矩形是否在视野中。

只要最大视野的直径2 * r1 = 2 *  (d1 + d2) / d1 * r 大于矩形的对角线就行了;

4 * r1 * r1 >= w * w + h * h

 

E:真三界新星

题意:题意大家都应该看懂的,理解下团灭的意思,如果5个人在同一时刻死了的话,就算团灭一次。

部分代码:

typedef struct Node

{

       char name[1001];

       int score;

       int kill[101],killed[101];

       Node() //初始化各类信息;

       {

              score = 0;

              memset(kill,0,sizeof(kill));

              memset(killed,0,sizeof(killed));

       }

}node; //记录一个人的各种信息;

node ans[6];

for(i = 0; i < 5; i++)

{

    ans[i].score += (2 * a(杀人数) + b(被杀数));

    while(a--)

   {

    scanf("%d",&k);

    ans[i].kill[k]++; // 记录人物ik时刻杀了几个人;

   }

    while(b--)

   {

    scanf("%d",&k);

    ans[i].killed[k]++; // 记录人物ik时刻被杀了几次;

   }

}

 

for(i = 0; i <= 100; i++)

{

   Min1 = min(ans[j].kill[i].Min1); (j = 0 ~ 4);

   Min2 = min(ans[j].killed[i].Min2); (j = 0 ~ 4);

   other += (Min1 * 5 + Min2 * 3);//计算团灭与被团灭所有人所加的分数。

}

sort and printf("%s %d\n",ans[i].name,ans[i].score + other);

 

F:2D Ballistik Game II

题意:求出最小的撞击次数,使得能打通一列;

 

G:Internet Protocol

题意:给出数据库中的IP段对应的地址。对于N次询问,输出其地址。

看题目的规模10^5 2 * 10^3,如果暴力查找的话O(10^8)显然超时,此题二分查找时间复杂度O2 * 10^3 * log(10^5);

 

H:Abbreviation

题意:给出一串文字,输出其缩写,小写要变大写

 

ps:不会用代码实现的同学,可以咨询我。


为解题报告打分
暂时不评分

★★
★★★
★★★★
★★★★★
发表您的评论(若贴AC代码或发表禁止言论等违禁行为将被删除并扣除积分)

|返回 |   | 转到页头|
Copyright @ 2008-2024(浙ICP备2022001332号), TZOJ. All Rights Reserved.