1400*C. Team(模拟&构造)

Problem - 401C - Codeforces

解析:

因为0不能相邻,所以0之间最少 n-1 个位置,最多 n+1 个位置,如果 m<n-1显然不符题意。

并且1最多连续两个,所以 m>2*n+2 同样不符题意。

其余情况构造即可

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int n,m;
signed main(){
	scanf("%d%d",&n,&m);
	if(m<n-1||m>2*n+2) puts("-1");
	else{
		if(m==n){
			for(int i=1;i<=n;i++) printf("01");
		}
		else if(m==n-1){
			for(int i=1;i<=n-1;i++) printf("01");
			printf("0");
		}
		else{
			int a=m-n-1,b=n+1-a;
			for(int i=1;i<=n;i++){
				if(a>0) printf("11"),a--;
				else printf("1"),b--;
				printf("0");
			}
			if(a>0) printf("11"),a--;
			else printf("1"),b--;
		}
	}
	return 0;
}
相关推荐
追风赶月、3 分钟前
【QT】认识QT
开发语言·qt
码农之王24 分钟前
记录一次,利用AI DeepSeek,解决工作中算法和无限级树模型问题
后端·算法
程序猿本员30 分钟前
线程池精华
c++·后端
秋田君39 分钟前
深入理解JavaScript设计模式之闭包与高阶函数
开发语言·javascript·设计模式
靡樊1 小时前
Socket编程UDP\TCP
网络·c++·学习·tcp/ip·udp
蜘蛛侠..1 小时前
Java中的阻塞队列
java·开发语言·优先级队列·阻塞队列·无界队列·有界队列·数组结构
byte轻骑兵1 小时前
【C++高级主题】命令空间(五):类、命名空间和作用域
开发语言·c++
Jay_272 小时前
python项目如何创建docker环境
开发语言·python·docker
xlsw_2 小时前
MyBatis之测试添加功能
java·开发语言·mybatis
忘梓.2 小时前
从二叉树到 STL:揭开 set 容器的本质与用法
开发语言·c++