3 条题解

  • 0
    @ 2022-11-12 10:25:37
    #include<bits/stdc++.h>
    using namespace std;
    char a[30];
    int l[30],r[30],n;
    inline void qdfs(int t){
    	cout<<a[t];
    	if(l[t]!=0) qdfs(l[t]);
    	if(r[t]!=0) qdfs(r[t]);
    }
    inline void hdfs(int t){
    	if(l[t]!=0) hdfs(l[t]);
    	if(r[t]!=0) hdfs(r[t]);
    	cout<<a[t];
    }
    int main(){
    	cin>>n;
    	for(int i=1;i<=n;i++) cin>>a[i]>>l[i]>>r[i];
    	qdfs(1);
    	cout<<endl;
    	hdfs(1);
    }
    
    • 0
      @ 2022-11-12 9:21:35

      #include<bits/stdc++.h> using namespace std; long long a[1000001][2],x,y,n; char b[1000001]; void aa(long long x) { if(!x)return; cout<<b[x]; aa(a[x][0]); aa(a[x][1]); } void aaa(long long x) { if(!x)return; aaa(a[x][0]); aaa(a[x][1]); cout<<b[x]; } int main() { cin>>n; for(int i=1;i<=n;i++) { cin>>b[i]>>x>>y; a[i][0]=x; a[i][1]=y; } aa(1); cout<<endl; aaa(1); return 0; }

      • 0
        @ 2022-11-6 19:01:10
        #include<bits/stdc++.h>
        using namespace std;
        int a[1000001][2],k,t,i,n;
        char b[1000001];
        void dfs(int k)
        {
        	if(!k)return;
        	cout<<b[k];//根左右
        	dfs(a[k][0]);
        	dfs(a[k][1]);
        }
        void dfs2(int k)
        {
        	if(!k)return;//左右根
        	dfs2(a[k][0]);
        	dfs2(a[k][1]);
        	cout<<b[k];
        }
        int main()
        {
           cin>>n;
           for(i=1;i<=n;i++){
            	cin>>b[i]>>k>>t;
            	a[i][0]=k;
            	a[i][1]=t;
        	}
        	dfs(1);
        	puts("");
        	dfs2(1);
           return 0;
        }
        • 1

        信息

        ID
        192
        时间
        1000ms
        内存
        256MiB
        难度
        4
        标签
        (无)
        递交数
        124
        已通过
        61
        上传者