| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1050338 | vjudge1 | Dango Maker (JOI18_dango_maker) | C++17 | 0 ms | 348 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 <bits/stdc++.h>
#define f first
#define s second
using namespace std;
int n, m;
vector<pair<int ,int>> v;int mx=0;
void b(string * s, int sh, int p, bool ch){
if(p==v.size()){
mx=max(mx, sh);
return;
}
int x=v[p].f, y=v[p].s;
if(y<m-2){
if(s[x][y+1]=='G'&&s[x][y+2]=='W'){
if(ch==0){
b(s, sh+1, p+1, ch);return;
}else{
if(x>0){
if(!(x<n-1&&s[x-1][y+1]=='R'&&s[x+1][y+1]=='W')&&!(x>2&&s[x-2][y+2]=='R'&&s[x-1][y+2]=='G')){
b(s, sh+1, p+1, ch);return;
}
}else{
b(s, sh+1, p+1, ch);return;
}
}
}
}
if(x<n-2){
if(s[x+1][y]=='G'&&s[x+2][y]=='W'){
if(ch==1){
b(s, sh+1, p+1, ch);return;
}else{
if(y>0){
if(!(y<m-1&&s[x+1][y-1]=='R'&&s[x+1][y+1]=='W')&&!(y>2&&s[x+2][y-2]=='R'&&s[x+2][y-1]=='G')){
b(s, sh+1, p+1, ch);return;
}
}else{
b(s, sh+1, p+1, ch);return;
}
}
}
}
b(s, sh, p+1, ch);
}
int main() {
cin >> n >> m;
string s[n];
for(int i=0; i<n; i++){
cin >> s[i];
for(int j=0; j<m; j++){
if(s[i][j]=='R'){
v.push_back({i, j});
}
}
}
b(s, 0, 0, 0);
b(s, 0, 0, 1);
cout << mx;
return 0;
}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... | ||||
