2094108_ac_0ms_112k.c

来自「北大大牛代码 1240道题的原代码 超级权威」· C语言 代码 · 共 52 行

C
52
字号
# include <stdio.h>

int N, M;
char g[303][303];

void input()
{
   int i, j, s, mark, p, l;
   while(scanf("%d%d",&N,&M)==2&&N&&M)
   {
       s = 0;mark = 1;l = 0;
      for(i = 0; i < N; i++)
        scanf("%s",g[i]);
      for(i = 0; i < N; i++)
        for(j = 0; j < M; j++)
		{
			if(g[i][j]=='S')
				s++;
		}
        for(i = 0; i < M; i++)
			for(j = 0; j < N; j++)
			{
				mark = 0;
				if(g[j][i]=='B'&&g[j][i-1]=='S'&&(j==0||g[j-1][i]!='B'))
				{
					p = j;
					while(j<N&&g[j][i]=='B')
					{
						if(g[j][i-1]=='B')
							mark = 1;
						j++;
					}
					j--;
					if(mark)
						continue;
					if(p==0&&j==N-1)
						continue;
					if(p==0||j==N-1)
						s--;
				         else
                                                       s-=2;	
				}
			}
		printf("%d\n",s);
   }
}
int main()
{
  input();
  return 1;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?