07年重庆队选拔赛试题 Matrix67首发

NOI2007全国青少年信息学奥林匹克竞赛



重庆队选拔赛



题目名称    余数之和    三角形       矩形        涂色
英文代号    sum         tri          rect        paint
输入文件名  sum.in      tri.in       rect.in     paint.in
输出文件名  sum.out     tri.out      rect.out    paint.out
时限        1秒         1秒          5秒         5秒
测试点个数  10          10           10          10
总分        100         100          100         100


时间:2007年3月3日




余数之和


sum



    给出正整数n和k,计算j(n,k)=k mod 1+k mod 2+k mod 3+ ... +k mod n的值,其中k mod i 表示k除以 i 的余数。
    例如j(5,3)=3 mod 1+3 mod 2+3 mod 3+3 mod 4+3 mod 5=0+1+0+3+3=7

[输入]
    输入仅一行,包含两个整数n,k。

[输出]
    输出仅一行,即j(n,k)。

[样例输入]
5 3

[样例输出]
7

[限制]
50%的数据满足:1<=n,k<=1000
100%的数据满足:1<=n,k<=10^9

三角形


tri



    画一个等边三角形,把三边的中点连接起来,得到四个三角形,把它们称为T1,T2,T3,T4,如图1。把前三个三角形也这样划分,得到12个更小的三角形:T11,T12,T13,T14,T21,T22,T23,T24,T31,T32,T33,T34,如图2。把编号以1,2,3结尾的三角形又继续划分……最后得到的分形称为Sierpinski三角形。


    如果B不包含A,且A的某一条完整的边是B的某条边的一部分,则我们说A靠在B的边上。例如T13 23(注:官方订正)靠在T24和T4上,但不靠在T32上。给出Spierpinski(注:原文如此)三角形中的一个三角形,找出它靠着的所有三角形。

[输入]   
    输入仅一行,即三角形的编号,以T开头,后面有n个1到4的数字。仅最后一个数字可能为4。

[输出]
    输出每行一个三角形编号,按字典序从小到大排列。

[样例输入]
T312

[样例输出]
T314
T34
T4

[限制]
50%的数据满足:1<=n<=5
100%的数据满足:1<=n<=50

矩形


rect



    给一个a*b矩形,由a*b个单位正方形组成。你需要沿着网格线把它分成分空(注:错别字,原文如此)的两部分,每部分所有格子连通,且至少有一个格子在原矩形的边界上。“连通”是指任两个格子都可以通过水平或者竖直路径连在一起。
    求方案总数。例如3*2的矩形有15种方案。


[输入]
    输入仅一行,为两个整数a,b。

[输出]
    输出仅一行,即方案总数

[样例输入1]
3 2

[样例输出1]
15

[样例输入2]
3 3

[样例输出2]
52

[限制]
50%的数据满足:1<=a<=4, 2<=b<=5
100%的数据满足:1<=a<=6, 2<=b<=7



涂色


paint



    假设你有一条长度为5的木版,初始时没有涂过任何颜色。你希望把它的5个单位长度分别涂上红、绿、蓝、绿、红色,用一个长度为5的字符串表示这个目标:RGBGR。
    每次你可以把一段连续的木版涂成一个给定的颜色,后涂的颜色覆盖先涂的颜色。例如第一次把木版涂成RRRRR,第二次涂成RGGGR,第三次涂成RGBGR,达到目标。
    用尽量少的涂色次数达到目标。

[输入]
    输入仅一行,包含一个长度为n的字符串,即涂色目标。字符串中的每个字符都是一个大写字母,不同的字母代表不同颜色,相同的字母代表相同颜色。

[输出]
    仅一行,包含一个数,即最少的涂色次数。

[样例输入1]
AAAAA

[样例输出1]
1

[样例输入1] (注:原文如此)
RGBGR

[样例输出1]
3

[限制]
40%的数据满足:1<=n<=10
100%的数据满足:1<=n<=50

做人要厚道
转贴请注明出处

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值