【題解】ZeroJudge d671: 11716 – Digital Fortress

【題目敘述】https://zerojudge.tw/ShowProblem?problemid=d671
【Tag】內建數學函數 sqrt( ),row-dominant array

#include <iostream>
#include <cmath>
using namespace std;
 
int main() {
    int T;
    string s;
    cin >> T;
    getline(cin, s);
    while (T--){
        getline(cin, s); //密文包含空白
        int sq = sqrt(s.size());
        if (sq * sq != s.size()){
            cout << "INVALID\n";
            continue;
        }
        for (int col = 0; col < sq; col++){
            for (int row = 0; row < sq; row++){
                cout << s[row * sq + col];
            }
        }
        cout << "\n";
    }
    return 0;
}
分享本文 Share with friends