2016년 4월 6일 수요일

9322 - 철벽 보안 알고리즘

https://www.acmicpc.net/problem/9322

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

게시글 목록