Atcoder arc093

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 }
View Code

猜你喜欢

转载自www.cnblogs.com/Scx117/p/9175030.html