【题解】CF1368C Even Picture

\(\color{purple}{Link}\)

\(\text{Solution:}\)

这是一道构造题。

题目要求恰好有\(n\)个点的四周全都是灰色点,所以直接输正方形是不行了。

考虑\(k=1:\)则输出一个十字,且这个十字的左上角和右下角也涂色即可。

\(k=2\)时,则在\(1\)的基础上把右上角三个再涂色即可。

最终所用点数:\(3n+4.\)

#include<bits/stdc++.h>
using namespace std;
int n,k,cnt=7;

int main(){
	scanf("%d",&n);
	k=3*n+4;cout<<k<<endl;
	cout<<"0 0\n1 0\n1 1\n0 1\n2 1\n1 2\n2 2";
	pair<int,int>P=make_pair(2,2);puts("");
	while(cnt<k){
		cout<<P.first<<" "<<P.second+1<<endl;
		cout<<P.first+1<<" "<<P.second<<endl;
		cout<<P.first+1<<" "<<P.second+1<<endl;
		P.first++;P.second++;
		cnt+=3;
	}
	return 0;
}

猜你喜欢

转载自www.cnblogs.com/h-lka/p/13169742.html