Submission #439121


Source Code Expand

#include <vector>
#include <list>
#include <map>
#include <set>
#include <queue>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <limits>
#include <tuple>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <cstring>
#include <cassert>

typedef long long ll;
typedef unsigned long long ull;

#define FOR(i,a,b) for(int (i)=(a);i<(b);i++)
#define REP(i,n) FOR(i,0,n)
#define RANGE(vec) (vec).begin(),(vec).end()

using namespace std;


class B {
public:

    void solve(void) {
            int N,M;
            cin>>N>>M;
            vector<vector<int>> tile(N,vector<int>(M,0));
            REP(i, N)
            {
                string line;
                cin>>line;
                REP(j, M)
                    tile[i][j] = line[j]-'0';
            }

            vector<vector<int>> a(N, vector<int>(M,0));
            FOR(y, 1, N-1)
            FOR(x, 1, M-1)
            {
                int dx[] = {-1,0,1,0};
                int dy[] = {0,1,0,-1};
                int minN = (1<<30);
                REP(d, 4)
                {
                    int nx = x+dx[d];
                    int ny = y+dy[d];
                    minN = min(minN, tile[ny][nx]);
                }
                if (minN == 0)
                    continue;
                REP(d, 4)
                {
                    int nx = x+dx[d];
                    int ny = y+dy[d];
                    tile[ny][nx] -= minN;
                }
                a[y][x] += minN;
            }
            REP(i, N)
            {
                REP(j, M)
                    cout<<a[i][j];
                cout<<endl;
            }
    }
};

#if 1
int main(int argc, char *argv[])
{
        ios::sync_with_stdio(false);
        auto obj = new B();
        obj->solve();
        delete obj;
        return 0;
}
#endif

Submission Info

Submission Time
Task B - アメーバ
User shifth
Language C++11 (GCC 4.9.2)
Score 100
Code Size 2069 Byte
Status AC
Exec Time 60 ms
Memory 2840 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 3
AC × 27
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt
Case Name Status Exec Time Memory
sample_01.txt AC 27 ms 800 KiB
sample_02.txt AC 27 ms 932 KiB
sample_03.txt AC 27 ms 808 KiB
subtask1_01.txt AC 27 ms 808 KiB
subtask1_02.txt AC 26 ms 920 KiB
subtask1_03.txt AC 56 ms 2716 KiB
subtask1_04.txt AC 58 ms 2732 KiB
subtask1_05.txt AC 57 ms 2712 KiB
subtask1_06.txt AC 58 ms 2724 KiB
subtask1_07.txt AC 58 ms 2724 KiB
subtask1_08.txt AC 60 ms 2840 KiB
subtask1_09.txt AC 58 ms 2716 KiB
subtask1_10.txt AC 29 ms 868 KiB
subtask1_11.txt AC 30 ms 928 KiB
subtask1_12.txt AC 45 ms 1824 KiB
subtask1_13.txt AC 36 ms 1312 KiB
subtask1_14.txt AC 37 ms 1440 KiB
subtask1_15.txt AC 43 ms 1824 KiB
subtask1_16.txt AC 37 ms 1352 KiB
subtask1_17.txt AC 36 ms 1312 KiB
subtask1_18.txt AC 28 ms 800 KiB
subtask1_19.txt AC 32 ms 868 KiB
subtask1_20.txt AC 27 ms 924 KiB
subtask1_21.txt AC 37 ms 1436 KiB
subtask1_22.txt AC 34 ms 1052 KiB
subtask1_23.txt AC 39 ms 1564 KiB
subtask1_24.txt AC 39 ms 1576 KiB