模拟就行了
测试点有点坑,能过下面几个测试点就大概能全过
A B C
A B C
ABCc **BA
#include <bits/stdc++.h>
typedef long long ll ;
using namespace std ;
const int maxn = 1e5 + 10 ;
const int inf = 0x3f3f3f3f ;
string s[7][26] ;
void deal(){
for(int i = 0 ; i < 26 ; i++){
for(int j = 0 ; j < 7 ; j++){
cin >> s[j][i] ;
}
}
string st ;
getchar() ;
getline(cin , st) ;
//cin >> st ;
int cnt = 0 ;
vector<int > v[1000] ;
int id = 0 ;
while(id < st.size() && (st[id] < 'A' || st[id] > 'Z')){
id++ ;
}
for(int i = id ; i < st.size() ; i++){
if(st[i] >= 'A' && st[i] <= 'Z'){
v[cnt].push_back(st[i]-'A') ;
}else{
cnt++ ;
while(i < st.size() && (st[i] < 'A' || st[i] > 'Z')){
i++ ;
}
i-- ;
}
}
if(st[st.size()-1] >= 'A' && st[st.size()-1] <= 'Z')cnt++ ;
for(int j = 0 ; j < cnt ; j++){
for(int i = 0 ; i < 7 ; i++){
for(int k = 0 ; k < v[j].size() ; k++){
if(k == 0) cout << s[i][v[j][k]] ;
else cout << " " << s[i][v[j][k]] ;
}
cout << "\n" ;
}
if(j != cnt-1)cout << "\n" ;
}
}
int main(){
deal() ;
return 0 ;
}