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;
}
相关推荐
youngee11几秒前
hot100-49前缀树
开发语言·c#
海盗猫鸥1 分钟前
「C++」继承
开发语言·c++
星月心城2 分钟前
八股文-JavaScript(第二天)
开发语言·javascript·ecmascript
Dillon Dong2 分钟前
从C到SIMULINK: 字节/字偏移 + 位偏移实现故障与故障字保存操作
c语言·开发语言·c#
yayapoi~3 分钟前
c++开方效率测试
c++
阿闽ooo3 分钟前
抽象工厂模式实战:用C++打造家具生产系统(附UML图与完整代码)
c++·设计模式·抽象工厂模式·uml
爱敲点代码的小哥5 分钟前
C#哈希表遍历技巧全解析以及栈 堆 队列的认识
算法·哈希算法
m5655bj5 分钟前
如何通过 C# 将 Markdown 转换为 PDF 文档
开发语言·pdf·c#
3824278276 分钟前
python:yield用法
开发语言·python
梁下轻语的秋缘7 分钟前
用 LoRa + W5500 做一个无线呼叫器
c语言·c++