Source Code
#include<bits/stdc++.h>

using namespace std;
typedef long long ll;

#define FAST ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
#define mp make_pair
#define pb push_back
#define lp(i,s,f) for(ll i = s; i < ll(f); i++)
#define inF freopen("input.in", "r", stdin);
#define outF freopen("output.in", "w", stdout);
#define endl '\n'
#define MOD 1000000007
#define mm(arr) memset(arr, 0, sizeof(arr))
#define F first
#define S second

const long double PI = atan(1) * 4.0;

int n, p;
vector<string> vec;
void rec(int level){
    if(level == 0){
        return;
    }
    rec(level - 1);
    string s = "";
    for(int i = 0; i < level; i++){
        s += '-';
    }
    vec.pb(s);
    rec(level - 1);
}

int main(){
    FAST
    cin >> n >> p;
    rec(p - 1);
    for(int i = 0; i < n + 1; i++){
        for(int j = 0; j < p; j++){
            cout << "-";
        }
        cout << i << endl;
        if(i == n){
            return 0;
        }
        for(int j = 0; j < vec.size(); j++){
            cout << vec[j] << endl;
        }
    }
    return 0;
}
Copy
Ruler Basilhijaz
GNU G++17
3 ms
904 KB
Accepted