Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "bits/stdc++.h"
- using namespace std;
- // clang-format off
- #define sim template < class c
- #define ris return * this
- #define dor > debug & operator <<
- #define eni(x) sim > typename \
- enable_if<sizeof dud<c>(0) x 1, debug&>::type operator<<(c i) {
- sim > struct rge { c b, e; };
- sim > rge<c> range(c i, c j) { return rge<c>{i, j}; }
- sim > auto dud(c* x) -> decltype(cerr << *x, 0);
- sim > char dud(...);
- struct debug {
- #ifdef LOCAL
- ~debug() { cerr << endl; }
- eni(!=) cerr << boolalpha << i; ris; }
- eni(==) ris << range(begin(i), end(i)); }
- sim, class b dor(pair < b, c > d) {
- ris << "(" << d.first << ", " << d.second << ")";
- }
- sim dor(rge<c> d) {
- *this << "[";
- for (auto it = d.b; it != d.e; ++it)
- *this << ", " + 2 * (it == d.b) << *it;
- ris << "]";
- }
- #else
- sim dor(const c&) { ris; }
- #endif
- };
- #define imie(...) " [" << #__VA_ARGS__ ": " << (__VA_ARGS__) << "] "
- // debug & operator << (debug & dd, P p) { dd << "(" << p.x << ", " << p.y << ")"; return dd; }
- // clang-format on
- #define F first
- #define S second
- #define eb emplace_back
- string read_string ( void ) {
- static char ch[1000005];
- scanf ( "%s", ch );
- return string ( ch );
- }
- using ll = long long int;
- vector<string> vs = {
- { ".#...#...*.." }, { "#.#.#.#.*.*." }, { ".X.#.X.*.X.*" },
- { "#.#.#.#.*.*." }, { ".#...#...*.." },
- };
- int main ( void ) {
- string s = read_string ();
- string t;
- int len = s.length ();
- for ( int i = 0; i < 5; ++i ) {
- t = "";
- for ( int j = 0; j < len; ++j )
- t += vs[i];
- vs[i] = t;
- }
- for ( int i = 0; i < 5; ++i )
- vs[i].insert ( vs[i].begin (), '.' );
- vs[2][0] = '#';
- int ind = 0, bl;
- for ( int i = 0;; ++i ) {
- char c = vs[2][i];
- if ( c == 'X' ) vs[2][i] = s[ind++];
- if ( ind >= len ) {
- bl = i;
- break;
- }
- }
- if ( int ( s.length () ) % 3 == 2 ) vs[2][bl + 2] = '#';
- for ( int i = 0; i < 5; ++i ) {
- for ( int j = 0; j < bl + 3; ++j )
- printf ( "%c", vs[i][j] );
- puts ( "" );
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement