D-Grid Components
在一个100*100的网格图上染色,问黑格四连通块的个数为A,白格四连通块的个数为B的一种构造方案?(A,B<=500)
将整个平面分成50*100的两部分,分别以黑白为背景,一块背景算一个连通块,然后在一种背景上用另一种颜色上去点彩,连通块大小为1,无八连通。
1 #include<bits/stdc++.h> 2 using namespace std; 3 int a,b; 4 int main() 5 { 6 scanf("%d%d",&a,&b); 7 a--;b--; 8 puts("100 100"); 9 for (int i=1;i<=50;i++) 10 { 11 for (int j=1;j<=100;j++) 12 if (i%2==0&&j%2==0&&a>0) printf("."),a--; 13 else printf("#"); 14 puts(""); 15 } 16 for (int i=1;i<=50;i++) 17 { 18 for (int j=1;j<=100;j++) 19 if (i%2==0&&j%2==0&&b>0) printf("#"),b--; 20 else printf("."); 21 puts(""); 22 } 23 return 0; 24 }