样例能过WA0分
查看原帖
样例能过WA0分
648871
lvchengze楼主2023/10/3 18:33
#include<bits/stdc++.h>
using namespace std;
string ans,x,m;
int n,u,vis[20005];
int change(string a){
	int sum=0;
	for(int i=0;i<a.size();i++){
		sum*=10;
		sum+=(a[i]-'0');
	}
	return sum;
}
int main(){
	cin>>n;
	cin>>u;
	ans+='1';
	ans+='/';
	vis[1]=1;
	for(int i=1;i<=u;i++){
		cin>>x;
		ans+=x;
		ans+='/';
		int v=change(x);
		vis[v]=1;
	}
	for(int i=2;i<=n;i++){
		cin>>u;
		if(u>0){
			for(int j=1;j<=u;j++){
				cin>>x;
				if(x[0]==ans[0]&&vis[i]==0){
					char f=i+'0';
					string t=ans;
					ans=f;
					ans+='/';
					ans+=t;
					vis[i]=1;
				}
				else{
					int v=change(x);
					if(vis[v]==0){
						ans+=x;
						ans+='/';
						vis[v]=1;
					}
				}
			}
		}
		else if(u==0){
			cin>>x;
			if(x[0]=='-'&&x[1]=='1'&&x.size()==2)continue;
			else if(x[0]==ans[0]&&vis[i]==0){
				char f=i+'0';
				string t=ans;
				ans=f;
				ans+='/';
				ans+=t;
				vis[i]=1;
			}
			else{
				int v=change(x);
				if(vis[v]==0){
					ans+=x;
					ans+='/';
					vis[v]=1;
				}
			}
		}
	}
	for(int i=0;i<ans.size();i++){
		if(ans[i]!='/'){
			cout<<ans[i];
		}
		else if(i!=ans.size()){
			cout<<" ";
		}
	}
}
2023/10/3 18:33
加载中...