# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
680784 | rainboy | Security Gate (JOI18_security_gate) | C11 | 341 ms | 3220 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 <stdio.h>
#include <string.h>
#define N 300
#define MD 1000000007
void flip(char *cc, int n) {
int i, j;
char tmp;
for (i = 0; i < n; i++)
cc[i] = cc[i] == 'x' ? 'x' : (cc[i] == '(' ? ')' : '(');
for (i = 0, j = n - 1; i < j; i++, j--)
tmp = cc[i], cc[i] = cc[j], cc[j] = tmp;
}
int solve1(char *cc, int n) {
static int dp[N + 1], dq[N + 1];
int i, d;
memset(dp, 0, (n + 1) * sizeof *dp), dp[0] = 1;
for (i = 0; i < n; i++) {
memset(dq, 0, (n + 1) * sizeof *dq);
for (d = 0; d <= n; d++) {
int x = dp[d];
if (x == 0)
continue;
if (cc[i] == '(' || cc[i] == 'x')
dq[d + 1] = (dq[d + 1] + x) % MD;
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |