제 1 공개키와 제 2 공개키를 비교하여 위치가 어떻게 바뀌는 지 저장하고 암호문은 그 반대로 위치를 참조하여 출력하도록 했다.
#include <bits/stdc++.h>
using namespace std;
typedef long long int lld;
typedef unsigned long long llu;
int main(){
int n, T, i, j;
scanf("%d", &T);
while(T--){
scanf("%d ", &n);
string s[1001], p;
int firstPosition[1001]={};
for(i=0; i<n; ++i) cin >> s[i];
for(i=0; i<n; ++i){
cin >> p;
for(j=0; j<n; ++j) if(s[j]==p) break;
firstPosition[i] = j;
}
map<int, string> decode;
for(i=0; i<n; ++i){
cin >> p;
decode[firstPosition[i]] = p;
}
for(i=0; i<n; ++i) cout<< decode[i] <<' ';
puts("");
}
return 0;
}
댓글 없음:
댓글 쓰기