夏日送清凉解题报告

B和C-by wqf582

点一下shfs没有解决的两个。

B:奇数阶魔方(II)

观察题目中出现的三个例子,可以发现1在正中间那个数的下方(由于都是奇数,所以总是存在中间位置的数),那么给你一个n,就可以确定1的位置,接着跟着数走,又会发现下一个数都出现在右下方,但是如果到了右边界就会回到最左边,到了最下边就会回到最上边,然后每走n步就会往下跳两格。规律出来了,我们就可以从1的位置依次将接下来的数填上,最后把数组输出就行了。

C:LC-Display

这个题目个人觉得挺有意思的,所以拉上了比赛。

 我们可以把一个数看成 上、中上、中、中下、下 五个部分,其中上中下分别是三个横线,中上和中下是两个竖线(对于“8”来说),不同的数字都可以看成是线和空格的组合,于是可以将它们存放在数组里面,下标就对应着这个数,得到:

char
s1[]="- -- -----",
s2[][3]={"||"," |"," |"," |","||","| ","| "," |","||","||"},
s3[]="  ----- --",
s4[][3]={"||"," |","| "," |"," |"," |","||"," |","||"," |"},
s5[]="- -- -- --";

假设m是需要输出的段数,对于一个数x,输出也是分为五个部分:

1、输出一个空格,m个s1[x],一个空格,换行

2、输出s2[x][0],m个空格,s2[x][2],换行

3、s3同s1

4、s4同s2

5、s5同s1

n个数的话就在外圈加个for循环,然后注意格式,这题就搞定了。


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

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

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