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;
}
相关推荐
木井巳14 分钟前
【递归算法】单词搜索
java·算法·leetcode·决策树·深度优先
阿豪只会阿巴32 分钟前
【没事学点啥】TurboBlog轻量级个人博客项目——Turbo Blog 项目学习与上线指南
开发语言·python·学习·状态模式
L-影1 小时前
常见的 ORM 工具
开发语言·数据库·fastapi·orm
咚咚王者1 小时前
人工智能之RAG工程 第一章 RAG 基础与前置知识
人工智能·算法
handler011 小时前
【算法模板】最小生成树:稠密图选 Prim,稀疏图选 Kruskal
c语言·数据结构·c++·算法
飞Link1 小时前
构筑你的数字第二大脑:Obsidian 深度解析与配置指南
开发语言·python
许长安1 小时前
RPC 异步调用基本使用方法:基于官方helloworld-async 示例
c++·经验分享·笔记·rpc
Chase_______2 小时前
LeetCode 2461 & 1423:定长滑窗变体精讲,从 HashMap 判重到正难则反的转化技巧
算法·leetcode·职场和发展
摇滚侠2 小时前
软件开发外包项目组,如何提高代码质量和开发效率
java·开发语言·前端·ide·intellij-idea