제 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; }
댓글 없음:
댓글 쓰기