Codeforces-899C Dividing the numbers

Dividing the numbers

题目

在这里插入图片描述

样例

在这里插入图片描述

思路

相邻四个数字可以分组抵消,所以分四种情况讨论,开头长度不同,后面每四个一组。

代码

#include<iostream>
using namespace std;
int main()
{
	int n;
	scanf("%d",&n);
	int t=n%4;
	int l=n/4;
	if(t==0)
	{
		printf("0\n");
		printf("%d ",2*l);
		printf("2 3");
		for(int i=5;i<=n;)
		{
			printf(" %d %d",i+1,i+2);
			i+=4;
		}
	}
	else if(t==1)
	{
		printf("1\n");
		printf("%d ",2*l+1);
		printf("1");
		for(int i=2;i<=n;)
		{
			printf(" %d %d",i+1,i+2);
			i+=4;
		}
	}
	else if(t==2)
	{
		printf("1\n");
		printf("%d ",2*l+1);
		printf("1");
		for(int i=3;i<=n;)
		{
			printf(" %d %d",i+1,i+2);
			i+=4;
		}
	}
	else if(t==3)
	{
		printf("0\n");
		printf("%d ",2*l+1);
		printf("3");
		for(int i=4;i<=n;)
		{
			printf(" %d %d",i+1,i+2);
			i+=4;
		}
	}
	return 0;
 } 
发布了173 篇原创文章 · 获赞 6 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/shidonghang/article/details/103003559