codeforces#235_div2_C Team 简单构造
题目地址:cf#235_div2_c
题目大意:
给你n个0,m个1
让你把它们排成一列
使得 没有三个1相邻,没有两个0相邻。
一下就想到233那场ooxx的题,直接用0当隔板 然后估计一下1个数的上下限,再分类讨论一下。
很水啊 和ooxx那个题完全没有比 a b c三题都好水
代码:
#include<iostream> using namespace std; int main() { int n,m; cin>>n>>m; if(m<=2*n+2&&m>=n-1) { if(m==2*n-2) { for(int i=0;i<n-1;i++) { cout<<"011"; } cout<<"0"<<endl; } else if(m==2*n-1) { for(int i=0;i<n-1;i++) { cout<<"011"; } cout<<"01"<<endl; } else if(m==2*n) { for(int i=0;i<n;i++) { cout<<"011"; } cout<<endl; } else if(m==2*n+1) { cout<<1; for(int i=0;i<n;i++) { cout<<"011"; } cout<<endl; } else if(m==2*n+2) { cout<<"11"; for(int i=0;i<n;i++) { cout<<"011"; } cout<<endl; } else { int left=m%(n-1); for(int i=0;i<left;i++) { cout<<"011"; } for(int i=0;i<n-1-left;i++) { cout<<"01"; } cout<<0<<endl; } } else cout<<-1<<endl; }
posted on 2014-03-12 01:19 814jingqi的ACM 阅读(119) 评论(0) 编辑 收藏 举报