天保建设集团有限公司网站,湖南平台网站建设哪家好,旅游网站建设的论文,wordpress更新之后字体发生变化背景 USACO OCT09 6TH描述 Farmer John一直努力让他的草地充满鲜美多汁的而又健康的牧草。可惜天不从人愿#xff0c;他在植物大战人类中败下阵来。邪恶的乳草已经在他的农场的西北部份佔领了一片立足之地。草地像往常一样#xff0c;被分割成一个高度為Y(1 y 100)… 背景 USACO OCT09 6TH 描述 Farmer John一直努力让他的草地充满鲜美多汁的而又健康的牧草。可惜天不从人愿他在植物大战人类中败下阵来。邪恶的乳草已经在他的农场的西北部份佔领了一片立足之地。草地像往常一样被分割成一个高度為Y(1 y 100), 宽度為X(1 x 100)的直角网格。(1,1)是左下角的格也就是说坐标排布跟一般的X,Y坐标相同。乳草一开始佔领了格(Mx,My)。每个星期乳草传播到已被乳草佔领的格子四面八方的每一个没有很多石头的格包括垂直与水平相邻的和对角线上相邻的格。1周之后这些新佔领的格又可以把乳草传播到更多的格裡面了。Bessie想要在草地被乳草完全佔领之前尽可能的享用所有的牧草。她很好奇到底乳草要多久才能佔领整个草地。如果乳草在0时刻处於格(Mx,My)那麼还在那个时刻它们可以完全佔领入侵整片草地呢对给定的数据总是会发生草地由一个图片表示。.表示草而*表示大石。比如这个X4, Y3的例子。 .... ..*. .**.如果乳草一开始在左下角第1排第1列那麼草地的地图将会以如下态势发展乳草会在4星期后佔领整片土地。 输入格式 * 第一行: 四个由空格隔开的整数: X, Y, Mx, My* 第2到第Y1行: 数据的第y1行由X个字符.表示草地*表示大石描述草地的第(Y2-y)行。 输出格式 * 第一行: 一个单独的整数表示最后一个不是大石块的格子被乳草佔领的星期数。 测试样例1 输入 4 3 1 1 .... ..*. .**. 输出 4 代码 1 #includeiostream2 #includecstdio3 #includecstring4 #includequeue5 #includealgorithm6 using namespace std;7 int N,M,P,dep,ans,X,Y,map[105][105],8 dx[15]{ 1,1,1, 0,0,-1,-1,-1},9 dy[15]{-1,0,1,-1,1,-1, 0, 1};
10 char juzhen[105][105];
11 struct cc{
12 int x,y;
13 }q1;
14 queuecc que;
15
16
17 void init_(){
18 memset(map,-1,sizeof(map));
19 scanf(%d%d%d%d,N,M,X,Y);//M行 N列
20 for(int iM;i1;i--){
21 scanf(%s,juzhen[i]1);
22 }
23 q1.xY;q1.yX;
24 que.push(q1);
25 map[Y][X]0;
26 }
27
28 void print(){
29 for(int i1;iM;i){
30 for(int j1;jN;j){
31 printf(%-3d,map[i][j]);
32 }
33 puts();
34 }
35 puts();
36 }
37
38 int main(){
39 // freopen(01.txt,r,stdin);
40 init_();
41
42 while(!que.empty()){
43 q1que.front();que.pop();
44 for(int i0;i8;i){
45 int xxq1.xdx[i],yyq1.ydy[i];
46 if(xx1||yy1||xxM||yyN) continue;
47 if(juzhen[xx][yy]*) continue;
48 if(map[xx][yy]0) continue;
49 cc q2;q2.xxx;q2.yyy;
50 que.push(q2);
51 map[xx][yy]map[q1.x][q1.y]1;
52 ansmax(ans,map[xx][yy]);
53 }
54 // print();
55 }
56 printf(%d\n,ans);
57 return 0;
58 } 这输入方式我整个人都不好了n和m搞混x和y搞混 样例还如此飘逸根本不知道x和y反了 转载于:https://www.cnblogs.com/radiumlrb/p/5797027.html