This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
//by szh
#include<bits/stdc++.h>
using namespace std;
#define fi first
#define se second
#define pii pair<int,int>
#define pll pair<long long,long long>
#define pb push_back
#define debug(x) cerr<<#x<<"="<<x<<endl
#define pq priority_queue
#define inf 0x3f
#define rep(i,a,b) for (int i=a;i<(b);i++)
#define MP make_pair
#define SZ(x) (int(x.size()))
#define ll long long
#define mod 1000000007
#define ALL(x) x.begin(),x.end()
void inc(int &a,int b) {a=(a+b)%mod;}
void dec(int &a,int b) {a=(a-b+mod)%mod;}
int lowbit(int x) {return x&(-x);}
ll p0w(ll base,ll p) {ll ret=1;while(p>0){if (p%2ll==1ll) ret=ret*base%mod;base=base*base%mod;p/=2ll;}return ret;}
#include "rainbow.h"
const int maxn = 55;
const int dx[4] = {0,-1,1,0}, dy[4] = {1,0,0,-1};
int grid[maxn][maxn];
int r,c;
void init(int R, int C, int sr, int sc, int M, char *S) {
	r = R, c = C;
	grid[sr][sc] = 1;
	rep(i,0,M) {
		if (S[i]=='S') sr++;
		else if (S[i]=='E') sc++;
		else if (S[i]=='W') sc--;
		else sr--;
		grid[sr][sc] = 1;
	}
}
bool vis[maxn][maxn];
int colour(int ar, int ac, int br, int bc) {
	int cnt = 0;
	rep(i,ar,br+1) rep(j,ac,bc+1) vis[i][j] = grid[i][j];
	rep(i,ar,br+1)
		rep(j,ac,bc+1) {
			if (vis[i][j]) continue;
			cnt++;
			vis[i][j] = 1;
			queue <pii> q;
			q.push({i,j});
			while (!q.empty()) {
				int x = q.front().fi, y = q.front().se;
				q.pop();
				rep(k,0,4) {
					int nx = x+dx[k], ny = y+dy[k];
					if (nx<ar or nx>br or ny<ac or ny>bc or vis[nx][ny]) continue;
					vis[nx][ny] = 1;
					q.push({nx,ny});
				}
			}
		}
    return cnt;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |