CSDN每日一练:鬼画符门之点点大阵

CSDN每日一练:鬼画符门之点点大阵

  • 题目描述
  • 题目逻辑
  • 老顾的提交
  • CSDN题目特色:阅读理解
  • 小结

题目描述

题目名称:鬼画符门之点点大阵
时间限制:1000ms
内存限制:256M

题目描述
小艺师从鬼画符门派,由于学艺不精只能画点点大阵。 一天师父要求小艺画多重点点大阵,师父会将1重的点点大阵给小艺,小艺如果需要完成2重的点点大阵,那么她需要将1重点点大阵看作一个整体作为一重点点大阵中的一点。小艺想让你帮忙先画一个。

输入描述:
输入点点大阵的边长a,点点大阵的层数n。(1<=a^n<=1000) 以下a行每行输入a个字符‘*’或‘ ’。

输出描述:
输出点点大阵。

示例
示例1
输入

3 2
***
*
***

输出

*********
*  *  *
*********
***
*
***
*********
*  *  *
*********

题目逻辑

这个题目。。。。做出来之后才觉得不难,没做出来之前,怎么都猜不透,这个题到底是个什么逻辑。

最后,是老顾无意中有一次碰出了50%的通过率,才反应过来他的逻辑

1、一重点点大阵是固定的,且层数和长度一致(输入描述很重要,看漏了就做不对了),即,输入值为 a ,则需要 a ** 2 个点,或为空,或为星。
2、不管再多层,每个点点大阵的星号,只能替换成1层点点大阵(如果是递归扩大的话,老顾试了下,5层大阵用了3分钟没跑出来)
3、最后输出大阵的时候,一定要记得去掉每行右边空格!
4、最后输出大阵的时候,一定要记得去掉每行右边空格!
5、最后输出大阵的时候,一定要记得去掉每行右边空格!
6、python 中输入部分一定要接管,把 input().strip() 修改掉!

那么说到这里,大家就应该明白了,这个题目就和之前老顾在《python 基础系列篇:六、使用 * 号做出一个数字点阵》一文中用的方法一样了,把一个星号,变成多行多列的二维列表,然后再把他给反套回来。

嘿嘿,总之,这个题目里坑其实不少,总算让老顾蒙出来了,尤其是默认给出的内容,他的数据处理中有个 strip 去空格,这就是个天坑!万一有一层的星号前边就应该有空格呢,你给他 strip 掉了,那是无论如何都不可能得到正确内容了。

老顾的提交

import copy

def change(n):
    if n < 2:
        return copy.deepcopy(first)
    ans = change(n - 1)
    rows = len(ans)
    z = []
    for i in range(rows):
        for ii in range(a):
            z.append([])
            for j in range(len(ans[i])):
                if ans[i][j] == '*':
                    z[-1] += copy.deepcopy(first[ii])
                else:
                    z[-1] += copy.deepcopy(blank[ii])
    return z

a,n = map(int,input().split())
vector = []
for i in range(a):
    vector.append(input().rstrip())
first = [list(row.ljust(a)) for row in vector]
blank = [list(' '.ljust(a)) for row in vector]

print("\n".join([''.join(row).rstrip() for row in change(n)]))

CSDN每日一练:鬼画符门之点点大阵_第1张图片

CSDN题目特色:阅读理解

每次碰到这种题目,老顾总是会出现各种阅读障碍,理解不能。就像今天,嗯23年4月9日,csdn周赛44期,编程题其实都不难,难就难在怎么理解出题人员的思路,通过有限的文字和条件,把思路调整到出题人的频道上。

CSDN每日一练:鬼画符门之点点大阵_第2张图片

相似三角形是彼此各边长对应成同比例的两个或更多个三角形。 请根据输入的三条边边长,去掉不能构成三角形者,只保留相似三角形中最前面的一个。

这见鬼的题目。。。其他题目按老顾的速度,都5分钟完成了,结果这个题目生生弄了40分钟,没想明白出题人员是个啥思路,最后交卷出来,发现bug区有人说了一嘴:3 4 5 这个三角形和 5 4 3 这个三角形不是相似三角形。。。。
CSDN每日一练:鬼画符门之点点大阵_第3张图片

作为从小偏科,语文在及格线附近漂移的人来说,真是考试中最困难的一件事。更何况这种离谱的描述。最为一个较真的人,没给的条件我是不会乱加的,否则作为乙方来说,甲方能随时喷死你啊!

小结

总而言之,言而总之,就是 csdn 的题目考的不是算法,而是阅读理解,以及条件补全的脑洞。。。

又双叒想拉选题人员去祭天了!

你可能感兴趣的:(算法,每日一练,阅读理解)