请教:实在是没有思路。
给一个棋盘,由m*n个正方形组成,这些正方形涂有黑色和白色两种颜色,求棋盘上完全由白色组成的长方形个数。输入:
23
bbb
www
22
bw
输出:
6
2
要求:写出程序。
#include "stdio.h" int sum=0; char a[10][10]={"www",""}; int e=5,f=5; /* 棋盘为e行f列 */ void test(int ,int,int,int); void main() { int i,j,m,n; // scanf("%d%d",&e,&f); /*输入棋盘长宽大小*/ // for(i=0;i<e;i++) /*输入黑白颜色*/ // gets(a[i]); for(i=0;i<e;i++) /*遍历所有可能的长方形*/ for(j=0;j<f;j++) for(m=i;m<e;m++) for(n=j;n<f;n++) test(i,j,m,n); /*测试是否为纯白*/ printf("the sum is: %d\n",sum); } void test(int i,int j,int m,int n) { int s,x,y; s=0; for(x=i;x<=m;x++) for(y=j;y<=n;y++) if(a[x][y]=='w')s++; else return; if(s==(m-i+1)*(n-j+1))sum++; /*满足条件为纯白长方形*/ }核心代码写出来了,你自己参考吧!至于输入,#include "stdio.h"中的函数太难用了,你自己去设计好了!