社区讨论
求助:赛时AC提交却只有40
P10788[NOI2024] 分数参与者 11已保存回复 17
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 17 条
- 当前快照
- 1 份
- 快照标识符
- @lysqf7cp
- 此快照首次捕获于
- 2024/07/19 21:24 2 年前
- 此快照最后确认于
- 2024/07/19 22:45 2 年前
rt
CPP#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define int ll
inline ll read(int M=1ll<<63){
ll x=0;
short f=1;
char c=getchar();
while(c>57||c<48){
if(c==45) f=-1;
c=getchar();
}
while(c<58&&c>47){
x=(x<<1)+(x<<3)+(c^48);
x%=M;
c=getchar();
}
return x*f;
}
inline void write(ll x){
if(x<0ll) putchar(45),x=~x+1;
if(x>9ll) write(x/10);
putchar(x%10|48);
}
int N=read();
map<string,int>T;
string _C[20005];
int id;
int L[12],C[12];
int q[12][122][12];
int _(string s){
if(!T[s]) _C[T[s]=++id]=s;
return T[s];
}
string s;
string __[15];
string ___[3];
int _r[15];
int R[15],RR[15];
int split(string _s,string *__s,char c){
_s+=c;
int len=_s.size(),pre=0,cnt=0;
for(int i=0;i<len;i++){
if(_s[i]==c){
__s[++cnt]=s.substr(pre,i-pre);
pre=i+1;
}
}
return cnt;
}
signed main(){
for(int ____=1;____<=N;____++){
cin>>s;
L[____]=read(),C[____]=read();
RR[____]=_(s);
for(int i=1;i<=L[____];i++){
for(int j=1;j<=C[____];j++){
cin>>s;
q[____][i][j]=_(s);
}
}
}
int Q=read();
while(Q--){
cin>>s;//select
cin>>s;
int num=split(s,__,',');
cin>>s;//from
cin>>s;//WHERE
int t=T[s],TT=t;//GETID
for(int i=1;i<=N;i++) if(t==RR[i]){
TT=i;
break;
}
cin>>s;
cin>>s;
int CONSTANT_OF_2=split(s,___,'=');
int _L=T[___[1]],val=T[___[2]],rl;
for(int i=1;i<=C[TT];i++){
if(_L==q[TT][1][i]) rl=i;
}
for(int i=1;i<=num;i++){
int ____=T[__[i]];
for(int j=1;j<=C[TT];j++){
if(____==q[TT][1][j]) _r[i]=j;
}
}
for(int ____=2;____<=L[TT];____++){
if(q[TT][____][rl]==val){
for(int i=1;i<=num;i++){
cout<<_C[q[TT][____][_r[i]]]<<' ';
}
putchar(10);
}
}
}
}
回复
共 17 条回复,欢迎继续交流。
正在加载回复...