Codeforces A Mist of Florescence】的更多相关文章

A Mist of Florescence 题目大意: 事先告诉你每种颜色分别有几个联通块,构造一个不超过 \(50*50\) 的矩形.用 \(A,B,C,D\) 四种颜色来对矩形进行涂色使它满足要求. 每种颜色联通块不超过 \(100\) Examples input 5 3 2 1 output 4 7 DDDDDDD DABACAD DBABACD DDDDDDD input 50 50 1 1 output 4 50 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC…
C - A Mist of Florescence 把50*50的矩形拆成4块 #include<bits/stdc++.h> using namespace std; ],b[]; ][]; void init(int x,int y,int xx,int yy,int va){ for(int j=x;j<=xx;j++){ for(int k=y;k<=yy;k++){ mp[j][k]=va; } } } void work(int x,int y,int xx,int y…
C. A Mist of Florescence time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output As the boat drifts down the river, a wood full of blossoms shows up on the riverfront. "I've been here once," M…
C. A Mist of Florescence time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output As the boat drifts down the river, a wood full of blossoms shows up on the riverfront. "I've been here once," M…
CF989C A Mist of Florescence solution: 作为一道构造题,这题确实十分符合构造的一些通性----(我们需要找到一些规律,然后无脑循环).个人认为这题规律很巧妙也很典型: n,m不能超过50 1<=a,b,c,d<=100(大于1!) 根据题目这两个限制条件,我们不难猜出一个构造方法: 例如:一个B联通块+三个C联通块: 三个不够,来一百个! 注意了吗,我们现在才用11行,足够我们构造剩下三种字母了(以一种字母为背景,所以题目限制中a,b,c,d大于一!!!)…
[题解]CF989C A Mist of Florescence 题目大意: 让你构造一个\(n∗m\)矩阵,这个矩阵由4种字符填充构成,给定4个整数,即矩阵中每种字符构成的四联通块个数,\(n,m\)需要你自己定,但是不能超过50 发现每个联通块至少有一个. 考虑重复利用条件,我们直接构造一个\(50 \times 50\)的矩阵,平分为四块,然后在轮换地在四块里面加单个的字母. 代码蒯Van的 #include<bits/stdc++.h> #define RP(t,a,b) for(re…
A Mist of Florescence time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output As the boat drifts down the river, a wood full of blossoms shows up on the riverfront. "I've been here once," Mino…
ACM思维题训练集合 C. A Mist of Florescence time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output As the boat drifts down the river, a wood full of blossoms shows up on the riverfront. "I've been here on…
传送门:http://codeforces.com/contest/989/problem/C 这是一个构造问题. 构造一张网格,网格中的字符为’A’.’B’.’C’.’D’,并且其连通块的个数分别为a.b.c.d. 首先我们可以考虑两种颜色的情形: 构造一张网格,网格中的字符为’0’.’1’,并且其连通块的个数分别为a.b,其中a.b均为正整数.于是,至少为’0’.’1’分别构造一个连通块:再分别以连通块为“网”,植入’1’.’0’,植入时应保证植入的点互不连通.如下图所示: 以上构造法可以推…
题意: 让你构造一个图,使得A,B,C,D的个数为给定的个数,上下左右连通的算一个. 哎呀 看看代码就懂了..emm..很好懂的 #include <bits/stdc++.h> using namespace std; , INF = 0x7fffffff; ][]; int main() { ; i<; i++) ; j<; j++) ) str[i][j] = 'A'; else str[i][j] = 'B'; int a, b, c, d; cin>> a &…