Submission #1177344

#TimeUsernameProblemLanguageResultExecution timeMemory
1177344Hurryup_7735Crtanje (COCI20_crtanje)C++20
30 / 50
0 ms584 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(char c : s){ if(c == '+') sum++; else if(c == '-') sum--; if(sum >= 0) mx = max(mx , sum); else mn = min(mn , sum); } m = mx - mn; if(m == 0) m = 1; mn = abs(mn); for(i = 1 ; i <= m; i++){ for(j = 1 ; j <= n ; j++){ a[i][j] = '.'; } } i = m - mn , j = 1; if(i == 0) i = 1; for(k = 0 ; k < s.size() ; k++){ if(k == 0){ if(s[k] == '+') a[i][j] = '/'; else if(s[k] == '-') a[i][j] = 92; 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] = 92; } else if(s[k - 1] == '+'){ j++; a[i][j] = 92; } else if(s[k - 1] == '='){ i++; j++; a[i][j] = 92; } } 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 = 1 ; i <= m ; i++){ for(j = 1 ; 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...