码迷,mamicode.com
首页 > 其他好文 > 详细

[AGC004C] AND Grid [构造]

时间:2018-02-24 21:58:47      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:ios   strong   get   style   algorithm   gpo   amp   can   lag   

题面:

传送门

思路:

一眼看上去是一道很迷的题目......直到我发现,红蓝色涂色的过程是互相独立的

而且最外围没有紫色

那么可以这样操作:

最左边一列全部红色,最右边一列全蓝

然后中间的一行红一行蓝

最后把紫的都涂上就好了

这样保证同色联通

Code:

 1     #include<iostream>
 2     #include<cstdio>
 3     #include<cstring>
 4     #include<algorithm>
 5     using namespace std;
 6     inline int read(){
 7         int re=0,flag=1;char ch=getchar();
 8         while(ch>9||ch<0){
 9             if(ch==-) flag=-1;
10             ch=getchar();
11         }
12         while(ch>=0&&ch<=9) re=(re<<1)+(re<<3)+ch-0,ch=getchar();
13         return re*flag;
14     }
15     int n,m;
16     bool a[510][510],b[510][510];
17     int main(){
18         int i,j;char s[510];
19         n=read();m=read();
20         for(i=1;i<=n;i++){
21             scanf("%s",s);
22             for(j=1;j<=m;j++){
23                 if(s[j-1]==#) a[i][j]=b[i][j]=1;
24             }
25         }
26         for(i=1;i<=n;i++) a[i][1]=1,b[i][m]=1;
27         for(i=1;i<=n;i++){
28             for(j=2;j<m;j++){
29                 if(i%2) a[i][j]=1;
30                 else b[i][j]=1;
31             }
32         }
33         for(i=1;i<=n;i++){
34             for(j=1;j<=m;j++){
35                 if(a[i][j]) putchar(#);
36                 else putchar(.);
37             }
38             putchar(\n);
39         }
40         putchar(\n);
41         for(i=1;i<=n;i++){
42             for(j=1;j<=m;j++){
43                 if(b[i][j]) putchar(#);
44                 else putchar(.);
45             }
46             putchar(\n);
47         }
48     }

 

[AGC004C] AND Grid [构造]

标签:ios   strong   get   style   algorithm   gpo   amp   can   lag   

原文地址:https://www.cnblogs.com/dedicatus545/p/8462256.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!