CF AIM Tech Round 3 (Div. 2) D - Recover the String
来源:互联网 发布:中韩农产品贸易数据 编辑:程序博客网 时间:2024/06/05 20:19
模拟
首先可以求出 0 和 1 的个数
之后按照01 10 的个数贪心安排
细节太多 错的都要哭了
#include<bits/stdc++.h>using namespace std;int main(){int a,b,c,d;while(~scanf("%d %d %d %d",&a,&b,&c,&d)) {int suc = 1;int t1,t2;t1 = sqrt(2*a); t2 = sqrt(2*d);t1 ++; t2 ++;if(t1*(t1-1) != 2*a || t2*(t2-1) != 2*d) suc = 0;if(d == 0) {if(!suc) printf("Impossible\n");else if(b == 0 && c == 0) {for(int i = 0; i < t1; ++i) printf("0"); printf("\n");}else if(b+c == t1) {if(t1 == 1) {if(b) printf("01\n");else printf("10\n");continue;}int cc = 0;if(cc == b) printf("1");for(int i = 0; i < t1; ++i) {printf("0");cc ++;if(cc == b) printf("1");} printf("\n");}else printf("Impossible\n");continue;}else if(a == 0) {if(!suc) printf("Impossible\n");else if(b == 0 && c == 0) {for(int i = 0; i < t2; ++i) printf("1"); printf("\n");}else if(b+c == t2) {int cc = 0;if(cc == c) printf("0");for(int i = 0; i < t2; ++i) {printf("1"); cc ++;if(cc == c) printf("0");} printf("\n");}else printf("Impossible\n");continue;}if(b+c != t1*t2) suc = 0;int num1 = 0, pos1 = 0;num1 = c/t1; pos1 = c%t1;int all = num1 + (pos1 > 0);if(all > t2) suc = 0;if(suc) {for(int i = 0; i < num1; ++i) printf("1");int cc = t1;for(int i = 0; i < t1; ++i) {cc --;printf("0");if(cc == pos1 && cc != 0) printf("1"); }for(int i = 0; i < t2-all; ++i) printf("1"); printf("\n");}else printf("Impossible\n");}return 0;}
0 0
- CF AIM Tech Round 3 (Div. 2) D - Recover the String
- AIM Tech Round 3 (Div. 2) -- D. Recover the String (思路题目--构造字符串)
- AIM Tech Round 3 (Div. 2) -- D. Recover the String (构造字符串)
- codeforces AIM Tech Round 3 (Div. 2)D. Recover the String
- AIM Tech Round 3 (Div. 2) D. Recover the String 构造、贪心、多坑、WA162
- AIM Tech Round 3 (Div. 2) D. Recover the String (构造)
- AIM Tech Round 3 (Div. 1)-B. Recover the String
- AIM Tech Round 3 (Div. 1) B. Recover the String(构造)
- AIM Tech Round 3 (Div. 1) B. Recover the String 构造
- 【DP】AIM Tech Round (Div. 2) D
- CodeForces AIM Tech Round 3 (Div. 2) D
- codeforces AIM Tech Round 3 (Div. 2) (A~D)
- Codeforces AIM Tech Round 3 (Div. 2)(A-D 未完)
- AIM Tech Round 3 (Div. 2)
- AIM Tech Round 3 (Div. 2)
- AIM Tech Round 3 (Div. 2)
- 【codeforces】AIM Tech Round 3 (Div. 2)
- codeforces AIM Tech Round 3 (Div. 2)
- centos之lamp环境搭建
- 【hadoop】win7下通过intellij idea对hadoop2.7.3进行访问操作的实践
- 图的存储结构再总结
- 数据结构实验之链表七:单链表中重复元素的删除
- .net实现银联在线支付
- CF AIM Tech Round 3 (Div. 2) D - Recover the String
- IO
- 省身
- 生成学习算法之朴素贝叶斯算法
- [组合] BZOJ 2916 [Poi1997]Monochromatic Triangles
- 数据结构实验之链表二:逆序建立链表
- 公约数
- 历史上的重大软件BUG启示录 第2篇---心脏滴血
- HDU 1198 Farm Irrigation (dfs / 并查集)