后俩点TLE了还有救吗
  • 板块P2814 家谱
  • 楼主晨·曦
  • 当前回复12
  • 已保存回复12
  • 发布时间2021/6/8 19:42
  • 上次更新2023/11/4 22:08:18
查看原帖
后俩点TLE了还有救吗
373274
晨·曦楼主2021/6/8 19:42
源代码
#include<bits/stdc++.h>
using namespace std;
string a[50020];
int bo,boo;
int main() {
	int i=1;
	cin>>a[i];
	while(a[i]!="$") {
		string o=a[i];
		if(o[0]=='?') {
			bo=0;boo=0;
			string b=a[i].substr(1,6);
			string c;
			for(int j=1; j<=i; j++) {
				string p=a[j];
				string q=p.substr(1,6);
				if(p[0]=='+'&&q==b) {
					bo=1;
					boo=1;
					for(int k=j; k>0; k--) {
						string r=a[k];
						if(r[0]=='#') {
							c=r.substr(1,6);
							break;
						}
					}
					break;
				}
			}
			while(bo==1) {
				for(int j=1; j<=i; j++) {
					string p=a[j];
					string q=p.substr(1,6);
					if(p[0]=='+'&&q==c) {
						bo=1;
						for(int k=j; k>0; k--) {
							string r=a[k];
							if(r[0]=='#') {
								c=r.substr(1,6);
								break;
							}
						}
						break;
					}
					bo=0;
				}
			}
			string oo=o.substr(1,6);
			if(boo==1) cout<<oo<<" "<<c<<"\n";
			else cout<<oo<<" "<<oo<<"\n";
		}
		i++;
		cin>>a[i];
	}
	return 0;
}

谢谢

2021/6/8 19:42
加载中...