blob: 54d6efc730525b4d1094fce8e801c48582578ad4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#include <algorithm>
#include <cctype>
#include <iostream>
#include <string>
int main() {
int count;
if (!(std::cin >> count)) return 1;
for (int i = 0; i < count; ++i) {
int empty, start, width;
std::string text;
if (!(std::cin >> empty >> text >> start >> width)) return 1;
if (empty) text.clear();
auto lower = text, upper = text;
for (auto &c : lower) c = static_cast<char>(std::tolower(static_cast<unsigned char>(c)));
for (auto &c : upper) c = static_cast<char>(std::toupper(static_cast<unsigned char>(c)));
auto mid = text.substr(static_cast<std::size_t>(start - 1), static_cast<std::size_t>(width));
auto right = text.substr(text.size() - static_cast<std::size_t>(width));
std::cout << text.size() << ':' << mid << ':' << right << ":TRUE:" << lower << ':' << upper << '\n';
}
}
|