zoj 2850 Beautiful Meadow(水~)
2010-08-02 18:57
369 查看
这道题真水,自己没看清题意,WA。。。
给你一个二维数组,0代表割草,1代表有草,两个割草的地方不能挨着,不能每块都有草。
最简单的方法,用某个点去加相邻的点,如果结果为0,那么肯定这俩点都为0,不满足。(可以把周围的点全赋值为1,这样不用判断是否越界)
给你一个二维数组,0代表割草,1代表有草,两个割草的地方不能挨着,不能每块都有草。
最简单的方法,用某个点去加相邻的点,如果结果为0,那么肯定这俩点都为0,不满足。(可以把周围的点全赋值为1,这样不用判断是否越界)
#include <stdio.h> #include <stdlib.h> #include <string.h> int main(void) { int n,m,i,j,flag; int map[12][12]; while( scanf("%d%d",&n,&m) && n && m ) { for(i=0; i<=n+1; i++ ) for(j=0; j<=m+1; j++) map[i][j] = 1; flag = 0; for(i=1; i<=n; i++) for(j=1; j<=m; j++) { scanf("%d",&map[i][j]); if( map[i][j] == 0 ) flag = 1; } for(i=1; i<=n&&flag; i++) for(j=1; j<=m&&flag; j++) { if( map[i][j] + map[i][j+1] == 0 ) flag = 0; if( map[i][j] + map[i][j-1] == 0 ) flag = 0; if( map[i][j] + map[i+1][j] == 0 ) flag = 0; if( map[i][j] + map[i-1][j] == 0 ) flag = 0; } if( flag == 0 ) printf("No/n"); else printf("Yes/n"); } system("pause"); return 0; }
相关文章推荐
- ZOJ 2850 Beautiful Meadow
- ZOJ-2850
- [水] zoj 2850 Beautiful Meadow
- zoj 2850 Beautiful Meadow
- ZOJ 2850 Beautiful Meadow
- zoj 2850 Beautiful Meadow
- ZOJ 2850和ZOJ 1414
- ZOJ 2850 Beautiful Meadow
- ZOJ 2850和ZOJ 1414
- ZOJ Problem Set - 2850 Beautiful Meadow
- ZOJ 2850 Beautiful Meadow
- zoj 2850 Beautiful Meadow
- zoj 2850
- ZOJ Problem Set - 2850 Beautiful Meadow
- zoj-【2850 】
- ZOJ 2850 Beautidul Meadow(水题)
- ZOJ - 2850
- ZOJ-2850-Beautiful Meadow【暴力】【4th浙江省赛】
- ZOJ 2850 Beautiful Meadow (简单题)
- zoj 2403 || poj 2194 || poj 2850 Stacking Cylinders