/ Vijos / 讨论 / 问答 /

Java怎么一直re

import java.util.Scanner;

public class Main{
static int n,m,h,t,ans=0;
static int [] qx=new int [10010];
static int [] qy=new int [10010];
static int [] xx={0,0,0,0,1,1,1,-1,-1,-1,-2,2};
static int [] yy={-2,-1,1,2,-1,0,1,-1,0,1,0,0};
static String s;
static char [][] c=new char [110][110];
public static void Bfs(int x,int y) {
c[x][y]='.';t=0;h=0;
qx[++t]=x;qy[t]=y;
while(h<t) {
x=qx[++h];y=qy[h];
for(int i=0;i<12;i++) {
int nx=x+xx[i];
int ny=y+yy[i];
if(nx>=1&&nx<=n&&ny>=0&&ny<m&&c[nx][ny]=='#') {
c[nx][ny]='.';qx[++t]=nx;qy[t]=ny;
}
}
}
}
public static void main(String [] args) {
@SuppressWarnings("resource")
Scanner in=new Scanner(System.in);
n=in.nextInt();
m=in.nextInt();
s=in.nextLine();
for(int i=1;i<=n;i++) {
s=in.nextLine();
c[i]=s.toCharArray();
}
for(int i=1;i<=n;i++)
for(int j=0;j<m;j++)
if(c[i][j]=='#') {
ans++;Bfs(i,j);
}
System.out.println(ans);
}

}

1 条评论

  • @ 2017-10-05 23:48:20

    评测机没配好。。。

  • 1