AIM Tech Round 3 (Div. 2) 题解
2016-08-25 11:05
417 查看
总结:做了3道,补题1道
A. Juicer
题意:水题
View Code
A. Juicer
题意:水题
#include <iostream> #include <cstdio> #include <algorithm> #include <map> #include <cstring> using namespace std; typedef long long ll; #define maxn 1000005 ll c[maxn]; void init(){ c[0] = c[1] = 0; for(ll i = 2;i < maxn;i ++){ c[i] = (i * (i - 1)) / 2; } } int main() { ll a0,a1,a2,a3; cin >> a0 >> a1 >> a2 >> a3; if(a0 + a1 + a2 + a3 == 0) { cout << "0" << endl; return 0; } init(); int s0,s1; //代表0,1的个数 bool flag1,flag2; flag1 = flag2 = false; for(int i = 0;i < maxn;i ++){ if(c[i] == a0){ s0 = i; flag1 = true; break; } } for(int i = 0;i < maxn;i ++){ if(c[i] == a3){ s1 = i; flag2 = true; break; } } if(!flag1 || !flag2){ cout << "Impossible" << endl; } else{ if(s1 == 0){ if(a1 || a2) s1 = 1; } if(s0 == 0){ if(a1 || a2) s0 = 1; } if((a1+a2+a3+a0) != c[s1+s0]) cout << "Impossible" << endl; else if(!s0 || !s1){ if(s0) for(int i = 0;i < s0;i ++) cout << "0"; if(s1) for(int i = 0;i < s1;i ++) cout << "1"; cout << endl; } else{ int s = a2; int cc = s/s0; int dd = s0 - s % s0; //s0可能是0,所以前面分类讨论要把s0==0 || s1 == 0的case单独讨论 for(int i = 0;i < cc;i ++) cout << "1"; for(int i = 0;i < dd;i ++) cout << "0"; if(s%s0) cout << "1"; for(int i = 0;i < s % s0;i ++) cout << "0"; int ee = s1-s/s0; ee = s%s0 == 0? ee : ee - 1; for(int i = 0;i < ee;i ++) cout << "1"; cout << endl; } } return 0; }
View Code
相关文章推荐
- AIM Tech Round 3 (Div. 2) ABCDE题解
- Codeforces AIM Tech Round (Div. 2) 题解
- AIM Tech Round 4 (Div. 2) B, C 题解
- CodeForces AIM Tech Round 3 (Div. 1) 题解(CF708A,CF708B,CF708C,CF708D,CF708E)
- AIM Tech Round 3 (Div. 2)(题解)
- Codeforces刷题之路——AIM Tech Round 3 (Div. 2) A. Juicer
- AIM Tech Round 3 (Div. 2) A. Juicer
- AIM Tech Round 3 (Div. 2) E. Connecting Universities 【构造】
- AIM Tech Round 3 (Div. 1) B. Recover the String(构造)
- AIM Tech Round (Div. 2)C - Graph and String(二分图染色)
- 【codeforces】AIM Tech Round 3 (Div. 2)
- AIM Tech Round (Div. 2) 解题报告
- AIM Tech Round 4 (Div. 2) B. Rectangles
- AIM Tech Round 3 (Div. 2)
- AIM Tech Round 3 (Div. 1) A. Letters Cyclic Shift 贪心
- CF AIM Tech Round 3 (Div. 2) D - Recover the String
- Codeforces AIM Tech Round (Div. 2) A. Save Luke
- AIM Tech Round (Div. 2)
- AIM Tech Round 3 (Div. 2)
- AIM Tech Round 4 (Div. 2) C. Sorting by Subsequences