CF989C A Mist of Florescence (构造)

CF989C A Mist of Florescence

solution:

作为一道构造题,这题确实十分符合构造的一些通性----(我们需要找到一些规律,然后无脑循环)。个人认为这题规律很巧妙也很典型:

  1. n,m不能超过50
  2. 1<=a,b,c,d<=100(大于1!)

根据题目这两个限制条件,我们不难猜出一个构造方法:

例如:一个B联通块+三个C联通块:

三个不够,来一百个!

注意了吗,我们现在才用11行,足够我们构造剩下三种字母了(以一种字母为背景,所以题目限制中a,b,c,d大于一!!!)

话不多说,上代码(应该够短了吧)

code:

#include<iostream>
using namespace std;
int main(){
	int a[4]; puts("44 49"); //这个千万不能忘啊!
	cin>>a[4]>>a[1]>>a[2]>>a[3];
	for(int i=1;i<=4;++i){
		char su='A'+i-1, pi=i==4?'A':su+1;
		for(int j=1;j<=5;++j,cout<<su<<endl){
			for(int o=1;o<=49;++o)cout<<su; puts("");
			for(int o=1;o<=24;++o)cout<<su<<(--a[i]>0?pi:su);
		}   for(int o=1;o<=49;++o)cout<<su; puts("");
	}return 0;
}

细节之处可以细细品味

posted @ 2019-01-24 21:42  一只不咕鸟  阅读(250)  评论(0编辑  收藏  举报