DSTJZ


私信TA

用户名:dotcpp0721777

访问量:4534

签 名:

天下难事,必作于易;天下大事,必作于细。

等  级
排  名 50
经  验 11014
参赛次数 13
文章发表 312
年  龄 18
在职情况 学生
学  校 狗熊岭23届毕业生
专  业

  自我简介:


参考代码:

import sys


def make(x):
    res = bin(x)
    res = res[2:]
    while len(res) < 5:
        res = '0' + res
    return res


def make_full():
    res = ''
    for char in s:
        if char == ' ':
            res += '00000'
        else:
            res += make(ord(char) - ord('A') + 1)
    return res


def ending():
    for rows in matrix:
        for num in rows:
            print(num, end="")
    sys.exit(0)


row, column, s = input().split()
row = int(row)
column = int(column)
newStr = make_full()
matrix = [[0] * column for _ in range(row)]
index = 0
left, right, top, bottom = 0, column - 1, 0, row - 1
while True:
    for i in range(left, right):
        matrix[top][i], index = newStr[index], index + 1
        if index == len(newStr):
            ending()
    for i in range(top, bottom + 1):
        matrix[i][right], index = newStr[index], index + 1
        if index == len(newStr):
            ending()
    for i in range(right - 1, left, -1):
        matrix[bottom][i], index = newStr[index], index + 1
        if index == len(newStr):
            ending()
    for i in range(bottom, top, -1):
        matrix[i][left], index = newStr[index], index + 1
        if index == len(newStr):
            ending()
    left += 1
    right -= 1
    top += 1
    bottom -= 1


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区