Submission #1177353

#TimeUsernameProblemLanguageResultExecution timeMemory
1177353Hurryup_7735Crtanje (COCI20_crtanje)C++20
50 / 50
0 ms784 KiB
//In The Name Of ALLAH! #pragma GCC optimize("O3") #include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace __gnu_pbds; using namespace std; #define ll long long #define ld long double #define endl '\n' #define pb push_back #define pf push_front #define speedyboy ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); #define bpc __builtin_popcount #define all(x) x.begin() , x.end() #define allr(x) x.rbegin() , x.rend() #define F first #define S second #define pll pair<ll , ll> #define pld pair<ld , ll> #define pss pair<string , string> #define turtle tuple<ll , ll , ll , ll> #define YES cout << "YES" << endl; #define NO cout << "NO" << endl; #define ordered_set tree<ll , null_type , less<ll> , rb_tree_tag , tree_order_statistics_node_update> const ll sz = 3e3 + 5 , INF = 1e18 , MOD = 1e9 + 7; char a[sz][sz]; ll mask , i , j , k; void solve(){ ll n , m , mx = 0 , mn = 0 , sum = 0; string s; cin >> n >> s; for(i = 0 ; i < s.size() ; i++){ if(s[i] == '+') sum++; if(s[i] == '-') sum--; mn = min(mn , sum); mx = max(mx , sum); } m = mx - mn + 1; for(i = 0 ; i < m; i++){ for(j = 0 ; j < n ; j++){ a[i][j] = '.'; } } i = mx , j = 0; for(k = 0 ; k < s.size() ; k++){ if(k == 0){ if(s[k] == '+') a[i][j] = '/'; else if(s[k] == '-') a[i][j] = '\\'; else if(s[k] == '=') a[i][j] = '_'; } else{ if(s[k] == '+'){ if(s[k - 1] == '-'){ j++; a[i][j] = '/'; } else if(s[k - 1] == '+'){ i--; j++; a[i][j] = '/'; } else if(s[k - 1] == '='){ j++; a[i][j] = '/'; } } else if(s[k] == '-'){ if(s[k - 1] == '-'){ i++; j++; a[i][j] = '\\'; } else if(s[k - 1] == '+'){ j++; a[i][j] = '\\'; } else if(s[k - 1] == '='){ i++; j++; a[i][j] = '\\'; } } else{ if(s[k - 1] == '-'){ j++; a[i][j] = '_'; } else if(s[k - 1] == '+'){ i--; j++; a[i][j] = '_'; } else if(s[k - 1] == '='){ j++; a[i][j] = '_'; } } } } for(i = 0; i < m ; i++){ bool ok = true; for(j = 0 ; j < n ; j++) ok &= (a[i][j] == '.'); if(!ok){ for(j = 0 ; j < n ; j++){ cout << a[i][j]; } cout << endl; } } } signed main(){ speedyboy; //open; ll t = 1; //cin >> t; while(t--){ solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...