//aarifshuvo ``CSEJU #include <bits/stdc++.h> #define ll long long #define SZ(x) ((int)(x).size()) #define scl(x) scanf("%lld", &x) #define scll(x,y) scanf("%lld %lld", &x, &y) #define ALL(x) (x).begin(),(x).end() #define REP(i,n) for(int i=0;i<n;i++) #define REV(i,n) for(int i=n-1;i>=0;i--) #define FOR(i,a,b) for(int i=a;i<=b;i++) #define pri(a) cout<<a<<endl #define prii(a,b) cout<<a<<" "<<b<<endl using namespace std; string sa[123]; bool vis[123][123]; int r , c; int cnt = 0; void dfs(int i, int j) { if(i<0 or j<0 or i==r or j==c or vis[i][j]==1 or sa[i][j]=='L') return; vis[i][j] = 1; if(sa[i][j]=='W') cnt++; dfs(i+1,j+1); dfs(i+1,j-1); dfs(i-1,j+1); dfs(i-1,j-1); dfs(i,j+1); dfs(i,j-1); dfs(i+1,j); dfs(i-1,j); } int main() { //freopen("F:/fout.txt", "w", stdout); int fl = 0; int t,i,j,idx=0; string s; scanf("%d", &t); getchar(); getchar(); while(t--) { if(fl==1) printf("\n"); fl = 1; r = 0, c = 0; idx = 0; while(getline(cin,s) and s!="") { if(s[0]=='W' or s[0]=='L') { sa[idx++] = s; r = idx; c = SZ(s); } else { stringstream ss(s); ss >> i >> j; i--, j--; memset(vis,0,sizeof vis); if(sa[i][j]=='W' or sa[i][j]=='L') { cnt = 0; dfs(i,j); printf("%d\n", cnt); } } } } return 0; }
~Be glad of life because it gives you the chance to love and to work and to play and to look at the stars.~
Thursday, June 1, 2017
UVa 469 - Wetlands of Florida
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment