UVA 输出特性 (求条)
  • 板块UVA1556 Disk Tree
  • 楼主Ivan422
  • 当前回复0
  • 已保存回复1
  • 发布时间2024/7/8 08:09
  • 上次更新2024/7/8 10:06:05
查看原帖
UVA 输出特性 (求条)
662425
Ivan422楼主2024/7/8 08:09
#include<bits/stdc++.h>
#define pb push_back
#define int long long
using namespace std;
const int N=1e5+10;
int n,cd,cnt;string s[N],cs,t;
int prc,zz;
map<string,int>mp[N];
void pz(int c,int z){
	for(auto v:mp[c]){
		++zz;
		pz(v.second,z+1);
	}
}
void pr(int c,int z){
	for(auto v:mp[c]){
		for(int i=1;i<=z;i++)cout<<" ";
		cout<<v.first;++prc;
		if(prc<zz)cout<<'\n';
		pr(v.second,z+1);
	}
}
signed main(){
	cin>>n;
	for(int i=1;i<=n;i++)cin>>s[i];
	for(int i=1;i<=n;i++){
		cs=s[i];
		cs+="\\";t="";cd=0;
		for(int j=0;j<(int)cs.size();j++){
			if(cs[j]=='\\'){
				if(mp[cd][t]==0)mp[cd][t]=++cnt;
				cd=mp[cd][t];
				t="";
			}else t+=cs[j];
		}
	}
	prc=0;
	pz(0,0);
	pr(0,0);
	return 0;
}

样例过了,0 WA。

自认为是输出输错了

2024/7/8 08:09
加载中...