Submission #96608

# Submission time Handle Problem Language Result Execution time Memory
96608 2019-02-10T12:08:01 Z josiftepe parentrises (BOI18_parentrises) C++14
50 / 100
213 ms 111464 KB
#include <bits/stdc++.h>

using namespace std;
int dp[305][305][305];
const int MOD = 1e9 + 7;
int rek(int at, int open, int closed){
    if(at == 0){
        if(closed == 0){
            return 1;
        }
        return 0;
    }
    if(dp[at][open][closed] != -1){
        return dp[at][open][closed];
    }
    int ret = 0;
    ret += rek(at - 1, open + 2, closed + 1);
    if(open > 0){
        ret += rek(at - 1, open - 1, max(closed - 2, 0));
    }
    return dp[at][open][closed] = ret % MOD;
}
int n;
int main()
{
    ios_base::sync_with_stdio(false);
    int t_case;
    cin >> t_case;
    int t;
    cin >> t;
    memset(dp, -1, sizeof dp);
    while(t --){
        cin >> n;
        cout << rek(n, 0, 0) << endl;
    }
    return 0;
}
# Verdict Execution time Memory Grader output
1 Incorrect 87 ms 111352 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 88 ms 111356 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 88 ms 111356 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 88 ms 111356 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 89 ms 111364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 89 ms 111364 KB Output is correct
2 Correct 76 ms 111336 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 89 ms 111364 KB Output is correct
2 Correct 76 ms 111336 KB Output is correct
3 Correct 213 ms 111464 KB Output is correct