# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
334594 | GioChkhaidze | Crtanje (COCI20_crtanje) | C++14 | 1 ms | 492 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define pb push_back
#define F first
#define S second
using namespace std;
const int N=111;
int n,t[N];
string s;
char C[N][N];
main () {
ios::sync_with_stdio(false);
cin.tie(NULL),cout.tie(NULL);
cin>>n;
cin>>s;
s="@"+s;
int Tmax=0,Tmin=0;
for (int i=1; i<=n; i++) {
if (s[i]=='+')
t[i]=t[i-1]+1;
else
if (s[i]=='-')
t[i]=t[i-1]-1;
else
if (s[i]=='=')
t[i]=t[i-1];
Tmax=max(Tmax,t[i]);
Tmin=min(Tmin,t[i]);
}
int ans=0;
for (int i=Tmax; i>=Tmin; i--)
for (int j=1; j<=n; j++) {
if (s[j]=='=' && s[j-1]=='-' && t[j]==i) C[i][j]='_',ans++;
else
if (s[j]=='=' && s[j-1]=='+' && t[j]==i) C[i][j]='_',ans++;
else
if (s[j]=='=' && (j==1 || s[j-1]=='=') && t[j]==i) C[i][j]='_',ans++;
else
if (s[j]=='+' && t[j-1]==i) C[i][j]='/',ans++;
else
if (s[j]=='-' && t[j]==i) C[i][j]=char(92),ans++;
else C[i][j]='.';
}
for (int i=Tmax; i>=Tmin; i--) {
bool bo=false;
for (int j=1; j<=n; j++)
if (C[i][j]=='/' || C[i][j]==char(92) || C[i][j]=='_') bo=true;
if (!bo) continue;
for (int j=1; j<=n; j++)
cout<<C[i][j];
cout<<"\n";
}
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |