답안 #557740

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
557740 2022-05-06T01:44:34 Z Yazan_Alattar Paint (COI20_paint) C++14
0 / 100
3000 ms 524288 KB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
#define F first
#define S second
#define pb push_back
#define endl "\n"
#define all(x) x.begin(), x.end()
const int M = 500007;
const ll inf = 2e9;
const ll mod = 1e9 + 7;
const double pi = acos(-1);
const double eps = 1e-6;
const int dx[] = {0, -1, 0, 1}, dy[] = {1, 0, -1, 0};
const int block = 320;

int n, m;

int main(){
    ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    cin >> n >> m;
    vector < vector <int> > a(n + 1, vector <int> (m + 1));

    for(int i = 1; i <= n; ++i) for(int j = 1; j <= m; ++j) cin >> a[i][j];

    int q; cin >> q;
    while(q--){
        int x, y, c;
        cin >> x >> y >> c;
        int in = a[x][y];
        a[x][y] = c;

        queue < pair <int,int> > q;
        q.push({x, y});

        while(!q.empty()){
            pair <int,int> node = q.front();
            q.pop();

            for(int i = 0; i < 4; ++i){
                int nx = dx[i] + node.F;
                int ny = dy[i] + node.S;

                if(nx && ny && nx <= n && ny <= m && a[nx][ny] == in){
                    a[nx][ny] = c;
                    q.push({nx, ny});
                }
            }
        }
    }

    for(int i = 1; i <= n; ++i){
        for(int j = 1; j <= m; ++j) cout << a[i][j] << " ";
        cout << endl;
    }
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 3092 ms 212 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 3076 ms 912 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1683 ms 524288 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 3085 ms 1016 KB Time limit exceeded
2 Halted 0 ms 0 KB -