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;
}
相关推荐
IT猿手1 小时前
2025最新群智能优化算法:山羊优化算法(Goat Optimization Algorithm, GOA)求解23个经典函数测试集,MATLAB
人工智能·python·算法·数学建模·matlab·智能优化算法
夏天的味道٥2 小时前
使用 Java 执行 SQL 语句和存储过程
java·开发语言·sql
IT、木易3 小时前
大白话JavaScript实现一个函数,将字符串中的每个单词首字母大写。
开发语言·前端·javascript·ecmascript
Mr.NickJJ4 小时前
JavaScript系列06-深入理解 JavaScript 事件系统:从原生事件到 React 合成事件
开发语言·javascript·react.js
Dream it possible!4 小时前
LeetCode 热题 100_字符串解码(71_394_中等_C++)(栈)
c++·算法·leetcode
Kurbaneli5 小时前
深入理解 C 语言函数的定义
linux·c语言·ubuntu
Archer1945 小时前
C语言——链表
c语言·开发语言·链表
My Li.5 小时前
c++的介绍
开发语言·c++
功德+n6 小时前
Maven 使用指南:基础 + 进阶 + 高级用法
java·开发语言·maven
修己xj6 小时前
算法系列之深度优先搜索寻找妖怪和尚过河问题的所有方式
算法