Submission #332521

# Submission time Handle Problem Language Result Execution time Memory
332521 2020-12-02T18:59:22 Z limabeans Dango Maker (JOI18_dango_maker) C++17
13 / 100
2000 ms 620 KB
#include <bits/stdc++.h>
using namespace std;

template<typename T>
void out(T x) { cout << x << endl; exit(0); }
#define watch(x) cout << (#x) << " is " << (x) << endl











const int maxn = 3002;


int n, m;
string g[maxn];
int dp[maxn][maxn];



bool viz[maxn][maxn];


const string S = "RGW";

int dfs() {
    int res = 0;
    auto row = [&](int i, int j) {
	for (int k=0; k<3; k++) {
	    if (viz[i][j+k]) return false;
	    if (g[i][j+k]!=S[k]) return false;
	}
	return true;
    };


    auto col = [&](int i, int j) {
	for (int k=0; k<3; k++) {
	    if (viz[i+k][j]) return false;
	    if (g[i+k][j]!=S[k]) return false;
	}
	return true;
    };

    
    for (int i=0; i<n; i++) {
	for (int j=0; j<m; j++) {
	    if (col(i,j)) {
		viz[i][j]=viz[i+1][j]=viz[i+2][j]=true;
		res = max(res, 1+dfs());
		viz[i][j]=viz[i+1][j]=viz[i+2][j]=false;
	    }
	    if (row(i,j)) {
		viz[i][j]=viz[i][j+1]=viz[i][j+2]=true;
		res = max(res, 1+dfs());
		viz[i][j]=viz[i][j+1]=viz[i][j+2]=false;
	    }
	}
    }
    return res;
}

int brute() {
    return dfs();
}


int main() {
    ios_base::sync_with_stdio(false); cin.tie(0);  cout.tie(0);

    cin>>n>>m;
    for (int i=0; i<n; i++) {
	cin>>g[i];
    }

    cout<<brute()<<endl;
    
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 492 KB Output is correct
2 Correct 1 ms 492 KB Output is correct
3 Correct 1 ms 620 KB Output is correct
4 Correct 1 ms 492 KB Output is correct
5 Correct 1 ms 492 KB Output is correct
6 Correct 1 ms 492 KB Output is correct
7 Correct 1 ms 492 KB Output is correct
8 Correct 1 ms 492 KB Output is correct
9 Correct 1 ms 492 KB Output is correct
10 Correct 1 ms 492 KB Output is correct
11 Correct 1 ms 492 KB Output is correct
12 Correct 1 ms 492 KB Output is correct
13 Correct 1 ms 492 KB Output is correct
14 Correct 1 ms 492 KB Output is correct
15 Correct 1 ms 492 KB Output is correct
16 Correct 1 ms 492 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 492 KB Output is correct
2 Correct 1 ms 492 KB Output is correct
3 Correct 1 ms 620 KB Output is correct
4 Correct 1 ms 492 KB Output is correct
5 Correct 1 ms 492 KB Output is correct
6 Correct 1 ms 492 KB Output is correct
7 Correct 1 ms 492 KB Output is correct
8 Correct 1 ms 492 KB Output is correct
9 Correct 1 ms 492 KB Output is correct
10 Correct 1 ms 492 KB Output is correct
11 Correct 1 ms 492 KB Output is correct
12 Correct 1 ms 492 KB Output is correct
13 Correct 1 ms 492 KB Output is correct
14 Correct 1 ms 492 KB Output is correct
15 Correct 1 ms 492 KB Output is correct
16 Correct 1 ms 492 KB Output is correct
17 Correct 1 ms 492 KB Output is correct
18 Correct 3 ms 492 KB Output is correct
19 Execution timed out 2091 ms 492 KB Time limit exceeded
20 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 492 KB Output is correct
2 Correct 1 ms 492 KB Output is correct
3 Correct 1 ms 620 KB Output is correct
4 Correct 1 ms 492 KB Output is correct
5 Correct 1 ms 492 KB Output is correct
6 Correct 1 ms 492 KB Output is correct
7 Correct 1 ms 492 KB Output is correct
8 Correct 1 ms 492 KB Output is correct
9 Correct 1 ms 492 KB Output is correct
10 Correct 1 ms 492 KB Output is correct
11 Correct 1 ms 492 KB Output is correct
12 Correct 1 ms 492 KB Output is correct
13 Correct 1 ms 492 KB Output is correct
14 Correct 1 ms 492 KB Output is correct
15 Correct 1 ms 492 KB Output is correct
16 Correct 1 ms 492 KB Output is correct
17 Correct 1 ms 492 KB Output is correct
18 Correct 3 ms 492 KB Output is correct
19 Execution timed out 2091 ms 492 KB Time limit exceeded
20 Halted 0 ms 0 KB -