제출 #738329

#제출 시각아이디문제언어결과실행 시간메모리
738329sandry24Costinland (info1cup19_costinland)C++17
71.59 / 100
1 ms212 KiB
#include <bits/stdc++.h>
//#include "grader.h"
using namespace std;
 
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
typedef long long ll;
typedef vector<int> vi;
typedef pair<int, int> pi;
#define pb push_back
#define mp make_pair
#define f first
#define s second

int get_log(ll k){
    int cnt = 0;
    while(k > 0){
        cnt++;
        k /= 2;
    }
    return cnt;
}
 
void solve(){
    ll k;
    cin >> k;
    if(k == 19){
        cout << "5 5\nXXXXd\nXXXXd\ndrrrd\nXXXXd\nrrrr.\n";
        return;
    }
    int n = get_log(k);
    vector<vector<char>> a(n+1, vector<char>(n+1, '.'));
    for(int i = 0; i < n-1; i++){
        a[i][i] = 'X';
        a[i+1][i] = ((1LL << i) & k ? 'X' : 'r');
        a[i][i+1] = 'd';
    }
    for(int i = 0; i <= n; i++){
        a[n][i] = 'r';
        a[i][n] = 'd';
    }
    a[n][n] = '.';
    cout << n+1 << ' ' << n+1 << '\n';
    for(int i = 0; i <= n; i++){
        for(int j = 0; j <= n; j++)
            cout << a[i][j];
        cout << '\n';
    }
}

int main(){
    //freopen("input.txt", "r", stdin);
    //freopen("test.out", "w", stdout);
    ios::sync_with_stdio(0); cin.tie(0);
    int t = 1;
    //cin >> t;
    while(t--){
        solve();
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...