cf 131 DIV2 B
2012-07-31 16:11
369 查看
MOD3的处理 是考虑删除一个数 还是两个数
在%=1的情况下 从小到大找到一个%3等于1的然后去掉 输出答案
找不到的情况 考虑去掉两个数 因为%3=2的数去掉两个 就相当于一个%3等于1的数
同理适用于%=2的情况下
屎代码:
在%=1的情况下 从小到大找到一个%3等于1的然后去掉 输出答案
找不到的情况 考虑去掉两个数 因为%3=2的数去掉两个 就相当于一个%3等于1的数
同理适用于%=2的情况下
屎代码:
#include <stdio.h> #include <stdlib.h> #include <math.h> #include <string.h> #include <stack> #include <iostream> int num[100005],knum[100005]; int cmp(const void *a,const void *b) { return *(int *)b-*(int *)a; } using namespace std; int main() { int n,m,a,b; int sum=0; int sign1,sign2,i,sign; sign=0; cin>>n; for( i=0;i<n;i++) { cin>>num[i]; sum+=num[i]; } qsort(num,n,sizeof(int),cmp); for(i=0;i<n;i++) knum[i]=num[i]%3; if(num[0]==0) { cout<<"0"<<endl; } else if(num[n-1]==0&&sum%3==0) { for(int i=0;i<n;i++) cout<<num[i]; cout<<endl; } else if(sum%3==1&&num[n-1]==0) { int ok=0; for( i=n-1;i>=0;i--) if(knum[i]==1) { ok=1; sign1=i; break; } if(ok) { for( i=0;i<n;i++) if(i!=sign1) { sign++; if(sign==1&&num[i]==0) { cout<<"0"; break; } cout<<num[i]; } cout<<endl; } else { for( i=n-1;i>=0;i--) if(knum[i]==2) { sign1=i; ok=1; break; } if(ok==1) for(i--;i>=0;i--) if(knum[i]==2) { sign2=i; ok=2; break; } if(ok==2) { for(i=0;i<n;i++) if(i!=sign1&&i!=sign2) { sign++; if(sign==1&&num[i]==0) { cout<<"0"; break; } cout<<num[i]; } cout<<endl; } else cout<<"-1"<<endl; } } else if(sum%3==2&&num[n-1]==0) { int ok=0; for( i=n-1;i>=0;i--) if(knum[i]==2) { ok=1; sign1=i; break; } if(ok) { for( i=0;i<n;i++) if(i!=sign1) { sign++; if(sign==1&&num[i]==0) { cout<<"0"; break; } cout<<num[i]; } cout<<endl; } else { for( i=n-1;i>=0;i--) if(knum[i]==1) { sign1=i; ok=1; break; } if(ok==1) for(i--;i>=0;i--) if(knum[i]==1) { sign2=i; ok=2; break; } /*else if(ok==1&&num[sign1]==4) for(i--;i>=0;i--) if(num[i]==4) { sign2=i; ok=2; break; }*/ if(ok==2) { for(i=0;i<n;i++) if(i!=sign1&&i!=sign2) { sign++; if(sign==1&&num[i]==0) { cout<<"0"; break; } cout<<num[i]; } cout<<endl; } else cout<<"-1"<<endl; } } else cout<<"-1"<<endl; }
相关文章推荐
- CF 131 div2 B
- cf 442 div2 F. Ann and Books(莫队算法)
- CF_216_Div_2
- cf 219 div 1
- CF_#302_DIV2_C
- CF div2(225) C
- CF 230 div2
- cfdiv
- 【CF】142 Div.1 B. Planes
- CF 167(div2)
- CF 161 div2 D
- CF 189 div2 D
- 13年7月13日CF练习 Codeforces Round #147 (Div. 2)
- CF RCC 2014 Warmup (Div. 2) D. Cunning Gena
- CF 143 div2 C
- CF 89 div2 A
- 20130805-codeforce 108-div2-CF训练
- CF711B(Codeforces Round #369 (Div. 2) - B)
- Mishka and trip(CF #365 Div. 2)
- CF 196 Div 2 D (树形dp)