Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<string>
- #include<iostream>
- #include<string.h>
- using namespace std;
- char a[110][110];
- int di[8]={0,0,1,1,1,-1,-1,-1};
- int dj[8]={1,-1,0,1,-1,0,1,-1};
- int ans;
- bool check[100][100];
- void dfs(int i,int j){
- ans++;
- check[i][j]=true;
- for(int k=0;k<8;k++){
- int x=i+di[k];
- int y=j+dj[k];
- if(x<0 || y<0) continue;
- if(!check[x][y] && a[x-1][y-1] == 'W'){
- dfs(x,y);
- }
- }
- }
- int main()
- {
- int col=0;
- int n,m,k; // in sample is 9 9 2
- //scanf("%d%d%d",&n,&m,&k);
- char inp[100];
- while(gets(inp) && strlen(inp) >0){
- if(inp[0] != 'W' && inp[0] != 'L'){
- int u,v;
- sscanf(inp,"%d %d",&u,&v);
- ans=0;
- if(a[u-1][v-1]== 'W'){
- dfs(u,v);
- printf("%d\n",ans);
- }
- else printf("0\n");
- for(int i=0;i<100;i++) for(int j=0;j<100;j++) check[i][j]=false;
- }
- else{
- strcpy(a[col],inp);
- col++;
- }
- }
- /*int u,v;
- u=a[last][0]-'0'; v=a[last][2]-'0';
- ans=0;
- //scanf("%d%d",&u,&v);
- if(a[u-1][v-1]=='W'){
- dfs(u,v);
- printf("%d\n",ans);
- }
- else printf("0");
- for(int i=0;i<100;i++) for(int j=0;j<100;j++) check[i][j]=false;
- while(scanf("%d%d",&u,&v) != EOF){
- ans=0;
- //scanf("%d%d",&u,&v);
- if(a[u-1][v-1]=='W'){
- dfs(u,v);
- printf("%d\n",ans);
- }
- else printf("0\n");
- for(int i=0;i<100;i++) for(int j=0;j<100;j++) check[i][j]=false;
- }*/
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement