1 条题解
-
0
C :
#include<stdio.h> #include<stdlib.h> int a[1005],t[1005]; int h,p,n,m,x,f; void p1(int k){ if (f) { printf("%d",t[k]); f=0;} else printf(" %d",t[k]); if (2*k<=n) p1(2*k); if (2*k+1<=n) p1(2*k+1); } void p2(int k){ if (2*k<=n) p2(2*k); if (f) { printf("%d",t[k]); f=0;} else printf(" %d",t[k]); if (2*k+1<=n) p2(2*k+1); } void p3(int k){ if (2*k<=n) p3(2*k); if (2*k+1<=n) p3(2*k+1); if (f) { printf("%d",t[k]); f=0;} else printf(" %d",t[k]); } int main(){ int i; scanf("%d%d",&h,&p); n=(1<<h)-1; i=0; while (i<n) { scanf("%d",&x); if (a[x]==0) { i++; t[i]=x; a[x]=1; } } f=1; if (p==1) p1(1); if (p==2) p2(1); if (p==3) p3(1); return 0; }C++ :
#include <iostream> #include <vector> #include <map> #include <set> #include <string> #include <algorithm> #include <math.h> #include <string.h> #include <stack> using namespace std; void find1(int i,vector<int> vec,int &count){ if(count==1){ count++; cout<<vec[i]; } else{ cout<<" "<<vec[i]; } if(i*2<=vec.size()-1) find1(i*2,vec,count); if(i*2+1<=vec.size()-1) find1(i*2+1,vec,count); return ; } void find2(int i,vector<int> vec,int &count){ if(i*2<=vec.size()-1) find2(i*2,vec,count); if(count==1){ count++; cout<<vec[i]; } else{ cout<<" "<<vec[i]; } if(i*2+1<=vec.size()-1) find2(i*2+1,vec,count); return ; } void find3(int i,vector<int> vec,int &count){ if(i*2<=vec.size()-1) find3(i*2,vec,count); if(i*2+1<=vec.size()-1) find3(i*2+1,vec,count); if(count==1){ count++; cout<<vec[i]; } else{ cout<<" "<<vec[i]; } return ; } int main(){ int h,p; string str; scanf("%d%d",&h,&p); vector<int> vec; int Num=pow(2,h)-1; int count=0; vec.insert(vec.end(),1001); while(1){ int a; scanf("%d",&a); vector<int>::iterator isExit=find(vec.begin(),vec.end(),a); if(isExit==vec.end()){ count++; vec.insert(vec.end(),a); } if(count==Num) break; } string strTemp; getline(cin,strTemp); if(p==1){ int f=1; find1(1,vec,f); } else if(p==2){ int f=1; find2(1,vec,f); } else if(p==3){ int f=1; find3(1,vec,f); } cout<<endl; return 0; }
- 1
信息
- ID
- 1088
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者