#1144 : 01串 ( 按条件排除即可+简单模拟 )
来源:互联网 发布:mysql字符串函数 编辑:程序博客网 时间:2024/06/06 10:05
#1144 : 01串
时间限制:7000ms
单点时限:1000ms
内存限制:256MB
描述
给定两个整数n和m,求是否存在恰好包含n个0和m个1的01串S,使得S中不存在子串"001"和"11"。
如果存在符合条件的01串则输出字典序最小的S,否则输出NO。
输入
一行两个整数,表示n和m。(0<=n,m<=100000,0<n+m)
输出
一行一个字符串,为字典序最小的S或者NO。
样例输入
2 3
样例输出
10101
相当于排列组合的插空法,题目说不能有11,和001,那么我们可以这样考虑_1_1_1......在空的地方填0,
具体见代码注释
#include<cstdio>#include<algorithm>#include<cmath>#include<bits/stdc++.h>using namespace std;template<class T>inline T read(T&x){ char c; while((c=getchar())<=32)if(c==EOF)return 0; bool ok=false; if(c=='-')ok=true,c=getchar(); for(x=0; c>32; c=getchar()) x=x*10+c-'0'; if(ok)x=-x; return 1;}template<class T> inline T read_(T&x,T&y){ return read(x)&&read(y);}template<class T> inline T read__(T&x,T&y,T&z){ return read(x)&&read(y)&&read(z);}template<class T> inline void write(T x){ if(x<0)putchar('-'),x=-x; if(x<10)putchar(x+'0'); else write(x/10),putchar(x%10+'0');}template<class T>inline void writeln(T x){ write(x); putchar('\n');}//-------ZCC IO template------const int maxn=1000001;const double inf=999999999;#define lson (rt<<1),L,M#define rson (rt<<1|1),M+1,R#define M ((L+R)>>1)#define For(i,t,n) for(int i=(t);i<(n);i++)typedef long long LL;typedef double DB;typedef pair<int,int> P;#define bug printf("---\n");#define mod 1000000007int main(){ //#ifndef ONLINE_JUDGE //freopen("in.txt","r",stdin); //freopen("zccccc.txt","w",stdout); //#endif // ONLINE_JUDGE int n,m,i,j,t,k; while(read_(n,m)) { if(m-n>=2||(n==0&&m==0))//1比0个数多于2个以上,那么无论怎么放0,肯定有11在一起, puts("NO"); else if(m-n==1)//1比0 多一个,只能在1之间放0 { For(i,0,(n+m)/2) printf("10"); printf("1\n"); } else if(n-m==1)//0比1多一个,在0之间放1 { For(i,0,(n+m)/2) printf("01"); printf("0\n"); } else if(n==m)//相等就是01的循环 { For(i,0,n) printf("01"); printf("\n"); } else//0比1多余1个,那么要避免001,就得把01尽可能的放在前面 { For(i,0,m) printf("01"); For(i,0,n-m) printf("0"); printf("\n"); } } return 0;}
0 1
- #1144 : 01串 ( 按条件排除即可+简单模拟 )
- LA-3708 - Graveyard 简单的模拟一下即可
- hdu6025 简单枚举即可
- 简单的网络故障排除方案
- LA 2995 模拟+松弛排除矛盾
- MySQL 模拟条件索引
- MySQL 模拟条件索引
- 正则表达式两个条件的或关系(满足其一即可)
- 输入完按回车后即可验证!(自认为最简单!)
- jquery封装 [全选] 语句,简单调用即可
- samba简单安装,无需配置即可使用
- HNOI2016模拟4.10 线性代数与逻辑 简化条件后的简单DP
- wireshark抓包排除/显示SSDP的过滤条件
- LAN网络故障时的简单排除方法
- samba的简单排除故障方法
- Hibernate初体验及简单错误排除
- 无需插件,直接加参数,chrome即可模拟手机浏览器
- 新正方教务系统无需验证码即可模拟登陆
- Java8 Arrays.sort VS Arrays.parallelSort
- 伴随我学习Java的一些书籍
- Storm集群搭建
- JSONObject简介
- 文本数据进行DES解密
- #1144 : 01串 ( 按条件排除即可+简单模拟 )
- Ubuntu 14.04 LTS 的安装和配置以及各种问题的解决
- android 4中启动模式详解
- Struts2中UI标签之表单标签的一个例子
- Back to Underworld
- Java网络编程从入门到精通(19):套接字(Socket)的异常
- Smali 学习
- 数组试题---找出第k大的数
- 在服务器端判断request来自Ajax请求(异步)还是传统请求(同步)