# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
37968 |
2017-12-29T18:56:02 Z |
nikhil |
Retro (COCI17_retro) |
C++14 |
|
326 ms |
62936 KB |
#include <bits/stdc++.h>
using namespace std ;
const int N = 302 ;
const int inf = 1e5 ;
int dp[N][N][170] ;
int grid[N][N] ;
int n, m ;
string expression ;
int solve(int i, int j, int open)
{
if(open >= 160 or open < 0) return -inf ;
if(i == 0 or grid[i][j] == 4)
{
if(open == 0) return 0;
return -inf ;
}
if(dp[i][j][open] != -1) return dp[i][j][open] ;
int ans = 0, now = 0, bracket = 0;
if(grid[i-1][j] == 3) now = -1, bracket = 1 ;
else if(grid[i-1][j] == 2) now = 1, bracket = 1 ;
ans = bracket + solve(i-1, j, open + now) ;
if(j > 0)
{
now = 0, bracket = 0;
if(grid[i-1][j-1] == 3) now = -1, bracket = 1 ;
else if(grid[i-1][j-1] == 2) now = 1, bracket = 1 ;
ans = max(ans, bracket + solve(i-1, j-1, open + now)) ;
}
if(j < (n-1))
{
now = 0, bracket = 0;
if(grid[i-1][j+1] == 3) now = -1, bracket = 1 ;
else if(grid[i-1][j+1] == 2) now = 1, bracket = 1 ;
ans = max(ans, bracket + solve(i-1, j+1, open + now)) ;
}
return dp[i][j][open] = ans ;
}
int main()
{
cin >> n >> m ; char ch ; int si = n-1, sj = 0 ;
for(int i = 0; i < n; i++)
{
for(int j = 0; j < m; j++)
{
cin >> ch ;
if(ch == '.')
grid[i][j] = 1 ;
if(ch == '(')
grid[i][j] = 2 ;
if(ch == ')')
grid[i][j] = 3;
if(ch == '*')
grid[i][j] = 4 ;
if(ch == 'M')
grid[i][j] = 0, si = i, sj = j ;
}
}
memset(dp, -1, sizeof(dp));
cout << solve(si, sj, 0) << endl ;
cout << "()()()" ;
return 0;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Partially correct |
0 ms |
62936 KB |
Partially correct |
2 |
Incorrect |
3 ms |
62936 KB |
Output isn't correct |
3 |
Partially correct |
3 ms |
62936 KB |
Partially correct |
4 |
Partially correct |
0 ms |
62936 KB |
Partially correct |
5 |
Incorrect |
0 ms |
62936 KB |
Output isn't correct |
6 |
Partially correct |
9 ms |
62936 KB |
Partially correct |
7 |
Incorrect |
16 ms |
62936 KB |
Output isn't correct |
8 |
Partially correct |
16 ms |
62936 KB |
Partially correct |
9 |
Partially correct |
6 ms |
62936 KB |
Partially correct |
10 |
Partially correct |
6 ms |
62936 KB |
Partially correct |
11 |
Partially correct |
213 ms |
62936 KB |
Partially correct |
12 |
Partially correct |
223 ms |
62936 KB |
Partially correct |
13 |
Partially correct |
169 ms |
62936 KB |
Partially correct |
14 |
Partially correct |
143 ms |
62936 KB |
Partially correct |
15 |
Partially correct |
293 ms |
62936 KB |
Partially correct |
16 |
Partially correct |
219 ms |
62936 KB |
Partially correct |
17 |
Partially correct |
279 ms |
62936 KB |
Partially correct |
18 |
Partially correct |
249 ms |
62936 KB |
Partially correct |
19 |
Partially correct |
326 ms |
62936 KB |
Partially correct |
20 |
Partially correct |
256 ms |
62936 KB |
Partially correct |