Submission #1794796


Source Code Expand

#include<bits/stdc++.h>
#define rep(i,a,b) for(int i=a;i<b;i++)
#define rrep(i,a,b) for(int i=a;i>=b;i--)
#define fore(i,a) for(auto &i:a)
#pragma GCC optimize ("-O3")
using namespace std; void _main(); int main() { cin.tie(0); ios::sync_with_stdio(false); _main(); }
//---------------------------------------------------------------------------------------------------
/*---------------------------------------------------------------------------------------------------
            ∧_∧  
      ∧_∧  (´<_` )  Welcome to My Coding Space!
     ( ´_ゝ`) /  ⌒i     
    /   \     | |     
    /   / ̄ ̄ ̄ ̄/  |  
  __(__ニつ/     _/ .| .|____  
     \/____/ (u ⊃  
---------------------------------------------------------------------------------------------------*/





int dx[4] = { 0, 1, 0, -1 }, dy[4] = { -1, 0, 1, 0 };
int H, W;
string S[50];
string ans[50];
//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> H >> W;
    rep(y, 0, H) cin >> S[y];

    

    // base
    rep(y, 0, H) rep(x, 0, W) ans[y] += ".";
    rep(x, 0, W) ans[0][x] = '#';
    rep(y, 0, H) if (y % 2 == 0) rep(x, 0, W) if (x != W / 2) ans[y][x] = '#';
    rep(x, 0, W) ans[H-1][x] = '#';
    rep(y, 0, H) if (y % 2 == 1) {
        if ((y - 1) % 4 == 0) ans[y][0] = ans[y][W - 1] = '#';
        else ans[y][W / 2 - 1] = ans[y][W / 2 + 1] = '#';
    }

    // add
    int sx = -1, sy = -1;
    rep(y, 0, H) rep(x, 0, W) {
        if (S[y][x] == '@') sx = x, sy = y, ans[y][x] = '@';
        else if (S[y][x] == '*') ans[y][x] = S[y][x];
    }

    // erase
    int x = sx, y = sy;
    while (ans[y][x] != '*') {
        if(ans[y][x] != '@') ans[y][x] = '.';
        int ok = 0;
        rep(i, 0, 4) {
            int xx = x + dx[i], yy = y + dy[i];
            if (0 <= xx and xx < W and 0 <= yy and yy < H) if (ans[yy][xx] == '#') {
                x = xx;
                y = yy;
                ok = 1;
                break;
            }
        }
        if (!ok) break;
    }

    rep(y, 0, H) printf("%s\n", ans[y].c_str());
}

Submission Info

Submission Time
Task F - RPG Maker
User hamayanhamayan
Language C++14 (GCC 5.4.1)
Score 100
Code Size 2314 Byte
Status AC
Exec Time 1 ms
Memory 256 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 40
Set Name Test Cases
All 00_sample_00, 00_sample_01, 01_random_00, 01_random_01, 01_random_02, 01_random_03, 01_random_04, 01_random_05, 01_random_06, 01_random_07, 01_random_08, 01_random_09, 01_random_10, 01_random_11, 01_random_12, 01_random_13, 01_random_14, 01_random_15, 01_random_16, 01_random_17, 01_random_18, 01_random_19, 02_large_00, 02_large_01, 02_large_02, 02_large_03, 02_large_04, 02_large_05, 02_large_06, 02_large_07, 02_large_08, 02_large_09, 99_handmade_00, 99_handmade_01, 99_handmade_02, 99_handmade_03, 99_handmade_04, 99_handmade_05, 99_handmade_06, 99_handmade_07
Case Name Status Exec Time Memory
00_sample_00 AC 1 ms 256 KB
00_sample_01 AC 1 ms 256 KB
01_random_00 AC 1 ms 256 KB
01_random_01 AC 1 ms 256 KB
01_random_02 AC 1 ms 256 KB
01_random_03 AC 1 ms 256 KB
01_random_04 AC 1 ms 256 KB
01_random_05 AC 1 ms 256 KB
01_random_06 AC 1 ms 256 KB
01_random_07 AC 1 ms 256 KB
01_random_08 AC 1 ms 256 KB
01_random_09 AC 1 ms 256 KB
01_random_10 AC 1 ms 256 KB
01_random_11 AC 1 ms 256 KB
01_random_12 AC 1 ms 256 KB
01_random_13 AC 1 ms 256 KB
01_random_14 AC 1 ms 256 KB
01_random_15 AC 1 ms 256 KB
01_random_16 AC 1 ms 256 KB
01_random_17 AC 1 ms 256 KB
01_random_18 AC 1 ms 256 KB
01_random_19 AC 1 ms 256 KB
02_large_00 AC 1 ms 256 KB
02_large_01 AC 1 ms 256 KB
02_large_02 AC 1 ms 256 KB
02_large_03 AC 1 ms 256 KB
02_large_04 AC 1 ms 256 KB
02_large_05 AC 1 ms 256 KB
02_large_06 AC 1 ms 256 KB
02_large_07 AC 1 ms 256 KB
02_large_08 AC 1 ms 256 KB
02_large_09 AC 1 ms 256 KB
99_handmade_00 AC 1 ms 256 KB
99_handmade_01 AC 1 ms 256 KB
99_handmade_02 AC 1 ms 256 KB
99_handmade_03 AC 1 ms 256 KB
99_handmade_04 AC 1 ms 256 KB
99_handmade_05 AC 1 ms 256 KB
99_handmade_06 AC 1 ms 256 KB
99_handmade_07 AC 1 ms 256 KB