0_0_20611981_25393.cpp:13:6: error: 'vn' does not name a type
vn[26];int vis[1005]; bool isok(int pos,int i){ int j,t=S[pos]-'a',len=vn[t][i].len; if(len==-1) return 1; if(pos+len+1>=tot) return 0; if(vn[t][i].endc!=S[pos+len+1]) return 0; string ss=S.substr(pos+1,len); sort(ss.begin(),ss.end()); if(ss==vn[t][i].s) return 1; return 0;}void solve(){ int i,j,t; vector<int>vs[1005]; memset(vis,0,sizeof(vis)); vis[0]=1; for(i=0; i<tot; i++) { if(!vis[i]) continue ; t=S[i]-'a'; for(j=0; j<vn[t].size(); j++) { if(isok(i,j)) { int next=i+vn[t][j].len+2; if(vis[next]==0) { if(vis[i]==1) { vis[next]=1; vs[next]=vs[i]; vs[next].push_back(vn[t][j].id); } else vis[next]=2; } else vis[next]=2; } } } if(vis[tot]==0) printf("impossible\n"); else if(vis[tot]==2) printf("ambiguous\n"); else { for(i=0; i<vs[tot].size()-1; i++) { printf("%s ",res[vs[tot][i]]); } printf("%s\n",res[vs[tot][i]]); }}int main(){ int i,j,t; scanf("%d",&t); while(t--) { for(i=0; i<26; i++) vn[i].clear(); scanf("%s",s); S=s; tot=S.length(); scanf("%d",&cnt); for(i=1; i<=cnt; i++) { scanf("%s",res[i]); cur=res[i]; int len=cur.length(); tt.id=i; if(len==1) { tt.len=-1; tt.s=""; tt.endc=res[i][0]; vn[res[i][0]-'a'].push_back(tt); } else { tt.len=len-2; tt.s=cur.substr(1,len-2); tt.endc=res[i][len-1]; sort(tt.s.begin(),tt.s.end()); vn[res[i][0]-'a'].push_back(tt); } } solve(); } return 0;}
^
0_0_20611981_25393.cpp: In function 'bool isok(int, int)':
0_0_20611981_25393.cpp:13:65: error: 'S' was not declared in this scope
vn[26];int vis[1005]; bool isok(int pos,int i){ int j,t=S[pos]-'a',len=vn[t][i].len; if(len==-1) return 1; if(pos+len+1>=tot) return 0; if(vn[t][i].endc!=S[pos+len+1]) return 0; string ss=S.substr(pos+1,len); sort(ss.begin(),ss.end()); if(ss==vn[t][i].s) return 1; return 0;}void solve(){ int i,j,t; vector<int>vs[1005]; memset(vis,0,sizeof(vis)); vis[0]=1; for(i=0; i<tot; i++) { if(!vis[i]) continue ; t=S[i]-'a'; for(j=0; j<vn[t].size(); j++) { if(isok(i,j)) { int next=i+vn[t][j].len+2; if(vis[next]==0) { if(vis[i]==1) { vis[next]=1; vs[next]=vs[i]; vs[next].push_back(vn[t][j].id); } else vis[next]=2; } else vis[next]=2; } } } if(vis[tot]==0) printf("impossible\n"); else if(vis[tot]==2) printf("ambiguous\n"); else { for(i=0; i<vs[tot].size()-1; i++) { printf("%s ",res[vs[tot][i]]); } printf("%s\n",res[vs[tot][i]]); }}int main(){ int i,j,t; scanf("%d",&t); while(t--) { for(i=0; i<26; i++) vn[i].clear(); scanf("%s",s); S=s; tot=S.length(); scanf("%d",&cnt); for(i=1; i<=cnt; i++) { scanf("%s",res[i]); cur=res[i]; int len=cur.length(); tt.id=i; if(len==1) { tt.len=-1; tt.s=""; tt.endc=res[i][0]; vn[res[i][0]-'a'].push_back(tt); } else { tt.len=len-2; tt.s=cur.substr(1,len-2); tt.endc=res[i][len-1]; sort(tt.s.begin(),tt.s.end()); vn[res[i][0]-'a'].push_back(tt); } } solve(); } return 0;}
^
0_0_20611981_25393.cpp:13:100: error: 'len' was not declared in this scope
vn[26];int vis[1005]; bool isok(int pos,int i){ int j,t=S[pos]-'a',len=vn[t][i].len; if(len==-1) return 1; if(pos+len+1>=tot) return 0; if(vn[t][i].endc!=S[pos+len+1]) return 0; string ss=S.substr(pos+1,len); sort(ss.begin(),ss.end()); if(ss==vn[t][i].s) return 1; return 0;}void solve(){ int i,j,t; vector<int>vs[1005]; memset(vis,0,sizeof(vis)); vis[0]=1; for(i=0; i<tot; i++) { if(!vis[i]) continue ; t=S[i]-'a'; for(j=0; j<vn[t].size(); j++) { if(isok(i,j)) { int next=i+vn[t][j].len+2; if(vis[next]==0) { if(vis[i]==1) { vis[next]=1; vs[next]=vs[i]; vs[next].push_back(vn[t][j].id); } else vis[next]=2; } else vis[next]=2; } } } if(vis[tot]==0) printf("impossible\n"); else if(vis[tot]==2) printf("ambiguous\n"); else { for(i=0; i<vs[tot].size()-1; i++) { printf("%s ",res[vs[tot][i]]); } printf("%s\n",res[vs[tot][i]]); }}int main(){ int i,j,t; scanf("%d",&t); while(t--) { for(i=0; i<26; i++) vn[i].clear(); scanf("%s",s); S=s; tot=S.length(); scanf("%d",&cnt); for(i=1; i<=cnt; i++) { scanf("%s",res[i]); cur=res[i]; int len=cur.length(); tt.id=i; if(len==1) { tt.len=-1; tt.s=""; tt.endc=res[i][0]; vn[res[i][0]-'a'].push_back(tt); } else { tt.len=len-2; tt.s=cur.substr(1,len-2); tt.endc=res[i][len-1]; sort(tt.s.begin(),tt.s.end()); vn[res[i][0]-'a'].push_back(tt); } } solve(); } return 0;}
^
0_0_20611981_25393.cpp:13:129: error: 'len' was not declared in this scope
vn[26];int vis[1005]; bool isok(int pos,int i){ int j,t=S[pos]-'a',len=vn[t][i].len; if(len==-1) return 1; if(pos+len+1>=tot) return 0; if(vn[t][i].endc!=S[pos+len+1]) return 0; string ss=S.substr(pos+1,len); sort(ss.begin(),ss.end()); if(ss==vn[t][i].s) return 1; return 0;}void solve(){ int i,j,t; vector<int>vs[1005]; memset(vis,0,sizeof(vis)); vis[0]=1; for(i=0; i<tot; i++) { if(!vis[i]) continue ; t=S[i]-'a'; for(j=0; j<vn[t].size(); j++) { if(isok(i,j)) { int next=i+vn[t][j].len+2; if(vis[next]==0) { if(vis[i]==1) { vis[next]=1; vs[next]=vs[i]; vs[next].push_back(vn[t][j].id); } else vis[next]=2; } else vis[next]=2; } } } if(vis[tot]==0) printf("impossible\n"); else if(vis[tot]==2) printf("ambiguous\n"); else { for(i=0; i<vs[tot].size()-1; i++) { printf("%s ",res[vs[tot][i]]); } printf("%s\n",res[vs[tot][i]]); }}int main(){ int i,j,t; scanf("%d",&t); while(t--) { for(i=0; i<26; i++) vn[i].clear(); scanf("%s",s); S=s; tot=S.length(); scanf("%d",&cnt); for(i=1; i<=cnt; i++) { scanf("%s",res[i]); cur=res[i]; int len=cur.length(); tt.id=i; if(len==1) { tt.len=-1; tt.s=""; tt.endc=res[i][0]; vn[res[i][0]-'a'].push_back(tt); } else { tt.len=len-2; tt.s=cur.substr(1,len-2); tt.endc=res[i][len-1]; sort(tt.s.begin(),tt.s.end()); vn[res[i][0]-'a'].push_back(tt); } } solve(); } return 0;}
^
0_0_20611981_25393.cpp:13:136: error: 'tot' was not declared in this scope
vn[26];int vis[1005]; bool isok(int pos,int i){ int j,t=S[pos]-'a',len=vn[t][i].len; if(len==-1) return 1; if(pos+len+1>=tot) return 0; if(vn[t][i].endc!=S[pos+len+1]) return 0; string ss=S.substr(pos+1,len); sort(ss.begin(),ss.end()); if(ss==vn[t][i].s) return 1; return 0;}void solve(){ int i,j,t; vector<int>vs[1005]; memset(vis,0,sizeof(vis)); vis[0]=1; for(i=0; i<tot; i++) { if(!vis[i]) continue ; t=S[i]-'a'; for(j=0; j<vn[t].size(); j++) { if(isok(i,j)) { int next=i+vn[t][j].len+2; if(vis[next]==0) { if(vis[i]==1) { vis[next]=1; vs[next]=vs[i]; vs[next].push_back(vn[t][j].id); } else vis[next]=2; } else vis[next]=2; } } } if(vis[tot]==0) printf("impossible\n"); else if(vis[tot]==2) printf("ambiguous\n"); else { for(i=0; i<vs[tot].size()-1; i++) { printf("%s ",res[vs[tot][i]]); } printf("%s\n",res[vs[tot][i]]); }}int main(){ int i,j,t; scanf("%d",&t); while(t--) { for(i=0; i<26; i++) vn[i].clear(); scanf("%s",s);
|