AIM Tech Round 3 (Div. 2)
2017-08-22 20:50
447 查看
A题,读错题意,坑了好久,大于d的橘子不用加,每次总和大于b之后就要清空,然后答案加1
D
#include<bits/stdc++.h> #define C 0.5772156649 #define pi acos(-1.0) #define ll long long #define pii pair<int,int> #define mod 1000000007 #define ls l,m,rt<<1 #define rs m+1,r,rt<<1|1 using namespace std; const double g=10.0,eps=1e-7; const int N=100000+10,maxn=1000000+10,inf=0x3f3f3f; map<ll,ll>ans; int main() { ios::sync_with_stdio(false); cin.tie(0); for(ll i=1;i<=1e5;i++)ans[i*(i-1)/2]=i; ll a,b,c,d; cin>>a>>b>>c>>d; if(a==0&&b==0&&c==0&&d==0) { cout<<"0"<<endl; return 0; } ll aa=ans[a],dd=ans[d]; if(ans[a]==0||ans[d]==0) { cout<<"Impossible"<<endl; return 0; } if(b==0&&c==0) { if(a==0&&d!=0)cout<<string(dd,'1')<<endl; else if(a!=0&&d==0)cout<<string(aa,'0')<<endl; else if(a!=0&&d!=0)cout<<"Impossible"<<endl; return 0; } if(aa*dd!=c+b) { cout<<"Impossible"<<endl; return 0; } string s=string(dd,'1'); int p=b/dd; b-=p*dd; s=string(p,'0')+s; p=c/dd; c-=p*dd; s=s+string(p,'0'); if(c==0&&b==0) { cout<<s<<endl; return 0; } int one=0; for(int i=0;i<s.size();i++) { if(s[i]=='1')one++; if(one==c) { // cout<<i<<endl; s=s.substr(0,i+1)+'0'+s.substr(i+1,s.size()); break; } } cout<<s<<endl; return 0; } /******************** 1 2 2 1 ans[2]=1, ********************/
D
相关文章推荐
- AIM Tech Round 3 (Div. 1)-C. Centroids
- AIM Tech Round (Div. 2)
- AIM Tech Round (Div. 2) C. Graph and String
- 【DP】AIM Tech Round (Div. 2) D
- AIM Tech Round 3 (Div. 2) B. Checkpoints
- AIM Tech Round 3 (Div. 2) A. Juicer
- Codeforces AIM Tech Round 4 (Div. 2) A Diversity
- AIM Tech Round (Div. 2)-A. Save Luke(数学题)
- Codeforces刷题之路——AIM Tech Round 3 (Div. 2) A. Juicer
- AIM Tech Round 3 (Div. 2)
- CF AIM Tech Round 3 (Div. 2) D - Recover the String
- Codeforces AIM Tech Round 4 (Div. 2) B Rectangles(组合数学)
- AIM Tech Round 3 (Div. 1) B. Recover the String 构造
- AIM Tech Round 3 (Div. 1) C. Centroids(每个点能否删掉一条边再添加一条边使得这个点成为重心)
- AIM Tech Round (Div. 2)-B. Making a String(贪心)
- AIM Tech Round (Div. 2) D. Array GCD(dp)
- AIM Tech Round (Div. 2) C. Graph and String
- AIM Tech Round 3 (Div. 2) A , B , C
- CF AIM Tech Round 3 (Div. 2) D - Recover the String
- AIM Tech Round 3 (Div. 2) D. Recover the String (构造)