80分求调(玄关)
  • 板块P10486 电路维修
  • 楼主_hi_
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/21 15:30
  • 上次更新2024/7/21 15:44:10
查看原帖
80分求调(玄关)
1254703
_hi_楼主2024/7/21 15:30
#include<bits/stdc++.h>
using namespace std;
long long t;
struct b{
	string name;
	long long x,y;
	string lei[105],ren[105][105];
}biao[105];
string tt,a,b,c;
string cha[105];
long long bla,top=0,ji=0;
long long cl[105];
string pan,mu;
int main(){
	scanf("%lld",&t);
	for(int i=1;i<=t;i++){
		cin>>biao[i].name;
		scanf("%lld %lld",&biao[i].x,&biao[i].y);
		for(int j=1;j<=biao[i].y;j++){
			cin>>biao[i].lei[j];
		}
		for(int j=1;j<biao[i].x;j++){
			for(int z=1;z<=biao[i].y;z++){
				cin>>biao[i].ren[j][z];
			}
		}
	}
	long long m;
	scanf("%lld",&m);
	while(m--){
		top=ji=0;
		cin>>tt>>a>>tt>>b>>tt>>c;
		for(int i=1;i<=t;i++){
			if(biao[i].name==b){
				bla=i;
				break;
			}
		}
		for(int i=0;i<a.length();i++){
			if(a[i]==','){
				cha[++top]=a.substr(ji,i);
				ji=i+1;
			}
		}
		cha[++top]=a.substr(ji,a.length());
		for(int i=1;i<=top;i++){
			for(int j=1;j<=biao[bla].y;j++){
				if(biao[bla].lei[j]==cha[i]){
					cl[i]=j;
					break;
				}
			}
		}
		for(int i=0;i<c.length();i++){
			if(c[i]=='='){
				pan=c.substr(0,i);
				mu=c.substr(i+1,c.length());
				break;
			}
		}
		for(int i=1;i<biao[bla].x;i++){
			for(int j=1;j<=biao[bla].y;j++){
				if(biao[bla].lei[j]==pan && biao[bla].ren[i][j]==mu){
					for(int z=1;z<=top;z++){
						cout<<biao[bla].ren[i][cl[z]];
						if(z!=top){
						    cout<<" ";
						}
					}
                    cout<<endl;
				}
			}
		}
	}
} 
2024/7/21 15:30
加载中...