比赛 不平凡的世界 评测结果 EETTTTTTTE
题目名称 不平凡的boss 最终得分 0
用户昵称 sro dydxh orz 运行时间 8.993 s
代码语言 C++ 内存使用 1.94 MiB
提交时间 2015-11-05 11:52:51
显示代码纯文本
  1. #include<iostream>
  2. #include<cmath>
  3. #include<cstring>
  4. #include<string>
  5. #include<cstdio>
  6. #include<algorithm>
  7. #include<cstdlib>
  8. using namespace std;
  9. int n,a[100100],b[100100],c[100100],ans=1008610010,q[100100],len;
  10. bool die[100100];
  11. void dfs(int ko,int x,int y,int z,int hf){
  12. if(ko==n) {if(hf<ans) ans=hf;return;}
  13. for(int i=1;i<=n;i++){
  14. if(die[i]) continue;
  15. int num=0,k=i;
  16. while(a[k]<=x+1&&k<=n) {die[k]=1;num++;k++;q[++len]=k;}
  17. dfs(ko+num,x+1,y,z,1+hf);
  18. while(len>=0) die[len--]=0;
  19. num=0;k=i;
  20. while(b[k]<=y+1&&k<=n) {die[k]=1;num++;k++;q[++len]=k;}
  21. dfs(ko+num,x,y+1,z,1+hf);
  22. while(len>=0) die[len--]=0;
  23.  
  24. num=0;k=i;
  25. while(c[k]<=z+1&&k<=n) {die[k]=1;num++;k++;q[++len]=k;}
  26. dfs(ko+num,x,y,z+1,1+hf);
  27. while(len>=0) die[len--]=0;
  28.  
  29. }
  30. }
  31. int main(){
  32. freopen("playwithboss.in","r",stdin);
  33. freopen("playwithboss.out","w",stdout);
  34. scanf("%d",&n);
  35. for(int i=1;i<=n;i++){
  36. scanf("%d%d%d",&a[i],&b[i],&c[i]);
  37. }
  38. dfs(0,0,0,0,0);
  39. cout<<ans<<endl;
  40. return 0;
  41. }