AlgoMooc
← 返回题库

K0031. 矩阵行列转换

简单通过率 47% · 提交 424 · 通过 199
模拟字符串数学

小慕正在开发一个数据可视化工具,需要处理一种特殊的矩阵排列方式。这个矩阵中的所有元素都以数字字符的形式存储在一个字符串里,并且这些元素原本是按照行优先的顺序排列的——也就是先从左到右读完一整行,再换到下一行继续从左到右读取。 现在,小慕遇到了一个问题:他需要将这个矩阵转换为列优先的表达方式——也就是先从上到下读完一整列,再换到下一列继续从上到下读取。 例如,假设有一个 2×2 的矩阵,为 "1234",那么它对应的就是 "1324"。 小慕的工具接收一个字符串 `items`,表示矩阵的行优先表达。这个字符串的长度为 `n`,其中 `1 <= n <= 10000`,且仅包含数字字符 `0-9`。 请你帮助小慕编写程序,输出对应的列优先表达的字符串。如果输入的字符串长度无法构成一个正方形矩阵(即长度不是一个完全平方数),则输出 `ERROR`。

提示:带虚线的词点一下有通俗解释。

输入描述

一个字符串 `items`,表示矩阵的行优先表达。

输出描述

- 如果输入能够表示一个正方矩阵,则输出列优先表达。 - 如果无法形成正方矩阵,则输出 `ERROR`。

示例

示例 1

输入

435245019

输出

420341559

示例 2

输入

0123456789

输出

ERROR

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解(训练营专属)

登录后查看题目图解

题目图解为训练营学员专属内容,请先登录。

微信扫码登录还不是训练营学员?了解训练营 →
写完代码点「提交」,将对全部测试用例判题。