Submission #827607

# Submission time Handle Problem Language Result Execution time Memory
827607 2023-08-16T15:19:50 Z NhanBeoo Dango Maker (JOI18_dango_maker) C++17
13 / 100
2000 ms 420 KB
// Judges with GCC >= 12 only needs Ofast
// #pragma GCC optimize("Ofast")
// #pragma GCC optimize("O3,no-stack-protector,fast-math,unroll-loops,tree-vectorize")
// MLE optimization
// #pragma GCC optimize("conserve-stack")
// Old judges
// #pragma GCC target("sse4.2,popcnt,lzcnt,abm,mmx,fma,bmi,bmi2")
// New judges. Test with assert(__builtin_cpu_supports("avx2"));
// #pragma GCC target("avx2,popcnt,lzcnt,abm,bmi,bmi2,fma,tune=native")
// Atcoder
// #pragma GCC target("avx2,popcnt,lzcnt,abm,bmi,bmi2,fma")

#include <bits/stdc++.h>
using namespace std;

// #define int ll
#define MAX LLONG_MAX
#define st first
#define nd second
#define endl '\n'
#define SZ(x) ((int)x.size())
#define ALL(x) x.begin(), x.end()
typedef long long ll;
typedef pair< int, int > ii;
typedef pair< int, ii > iii;
typedef vector< int > vi;
typedef vector< ii > vii;
typedef vector< iii > viii;
typedef vector< vi > vvi;
typedef vector< vii > vvii;
typedef vector< viii > vviii;

const int N = 3005;
int n, m, ans = 0;
string s[N];

void dfs(int cnt){
    ans = max(ans, cnt);
    for(int i=0; i<n; i++){
        for(int j=0; j<m; j++){
            if(j != 0 and j != m-1){
                if(s[i][j-1] == 'R' and s[i][j] == 'G' and s[i][j+1] == 'W'){
                    s[i][j-1] = s[i][j] = s[i][j+1] = ' ';
                    dfs(cnt+1);
                    s[i][j-1] = 'R', s[i][j] = 'G', s[i][j+1] = 'W';
                }
            }
            if(i != 0 and i != n-1){
                if(s[i-1][j] == 'R' and s[i][j] == 'G' and s[i+1][j] == 'W'){
                    s[i-1][j] = s[i][j] = s[i+1][j] = ' ';
                    dfs(cnt+1);
                    s[i-1][j] = 'R', s[i][j] = 'G', s[i+1][j] = 'W';
                }
            }
        }
    }
}

void sol(){
    cin >> n >> m;
    for(int i=0; i<n; i++) cin >> s[i];
    dfs(0);
    cout << ans;
}

signed main(){
//    freopen("input.inp", "r", stdin);
//    freopen("main.out", "w", stdout);

	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);

    int t = 1;
//    cin >> t;
    while(t--) sol();
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 340 KB Output is correct
2 Correct 1 ms 420 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Correct 1 ms 420 KB Output is correct
6 Correct 0 ms 340 KB Output is correct
7 Correct 1 ms 416 KB Output is correct
8 Correct 0 ms 416 KB Output is correct
9 Correct 0 ms 340 KB Output is correct
10 Correct 1 ms 340 KB Output is correct
11 Correct 1 ms 416 KB Output is correct
12 Correct 1 ms 388 KB Output is correct
13 Correct 1 ms 340 KB Output is correct
14 Correct 1 ms 408 KB Output is correct
15 Correct 0 ms 340 KB Output is correct
16 Correct 0 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 340 KB Output is correct
2 Correct 1 ms 420 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Correct 1 ms 420 KB Output is correct
6 Correct 0 ms 340 KB Output is correct
7 Correct 1 ms 416 KB Output is correct
8 Correct 0 ms 416 KB Output is correct
9 Correct 0 ms 340 KB Output is correct
10 Correct 1 ms 340 KB Output is correct
11 Correct 1 ms 416 KB Output is correct
12 Correct 1 ms 388 KB Output is correct
13 Correct 1 ms 340 KB Output is correct
14 Correct 1 ms 408 KB Output is correct
15 Correct 0 ms 340 KB Output is correct
16 Correct 0 ms 340 KB Output is correct
17 Correct 0 ms 420 KB Output is correct
18 Correct 2 ms 420 KB Output is correct
19 Execution timed out 2069 ms 340 KB Time limit exceeded
20 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 340 KB Output is correct
2 Correct 1 ms 420 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Correct 1 ms 420 KB Output is correct
6 Correct 0 ms 340 KB Output is correct
7 Correct 1 ms 416 KB Output is correct
8 Correct 0 ms 416 KB Output is correct
9 Correct 0 ms 340 KB Output is correct
10 Correct 1 ms 340 KB Output is correct
11 Correct 1 ms 416 KB Output is correct
12 Correct 1 ms 388 KB Output is correct
13 Correct 1 ms 340 KB Output is correct
14 Correct 1 ms 408 KB Output is correct
15 Correct 0 ms 340 KB Output is correct
16 Correct 0 ms 340 KB Output is correct
17 Correct 0 ms 420 KB Output is correct
18 Correct 2 ms 420 KB Output is correct
19 Execution timed out 2069 ms 340 KB Time limit exceeded
20 Halted 0 ms 0 KB -