按要求拼接字符串,因为都是正整数,所以先比较字符串的位数,位数不同就直接决定了大小;位数相同再按字典序直接比较大小

#include <iostream>
#include <string>
using namespace std;

int main() {
    string x1, x2;
    int k1, k2;
    while (cin >> x1 >> k1 >> x2 >> k2) {
        string str1, str2;
        for (int i = 0; i < k1; i++) {
            str1 += x1;
        }
        for (int i = 0; i < k2; i++) {
            str2 += x2;
        }
        if (str1.size() > str2.size()) { // 先比较字符串的位数
            cout << "Greater" << endl;
        } else if (str1.size() < str2.size()) {
            cout << "Less" << endl;
        } else if (str1 > str2) { // 位数相同再按字典序直接比较大小
            cout << "Greater" << endl;
        } else if (str1 < str2) {
            cout << "Less" << endl;
        } else {
            cout << "Equal" << endl;
        }
    }
    return 0;
}

时间复杂度:O(k1+k2),用于生成拼接的字符串,其中k1,k2是给定的拼接次数

空间复杂度:O(k1+k2),用于存储拼接的字符串,其中k1,k2是给定的拼接次数