DLUTOJ 1174

来源:互联网 发布:mysql root空密码登录 编辑:程序博客网 时间:2024/06/15 03:24

Description

Kuroneco暗恋Kyousuke很久了,终于下定决心写一封情书给他。害羞的她不敢直接把心意写到情书上,所以将情书里的内容做了加密处理。
她先把内容写好了,然后将其打乱为一个N*M的矩阵,接着给出另一个N*M的数字矩阵,表示之前情书中内容的子母的顺序。
比如:
情书是一个3*4的字符矩阵
ou!!
I lo
ve y
然后数字矩阵为
9 10 11 12
1 2 3 4
5 6 7 8
按照数字矩阵中的数字的顺序,就可以将情书本来的内容读出来了!
Kyousuke接到情书后,看着这两个奇怪矩阵,一头雾水。我的ACM不可能会收到情书!!!
现在请你帮助Kyousuke将情书的内容还原出来吧!

Input

 第一行一个整数T(1<=T<=10)表示数据组数。

接下来给出T组测试数据:
每组数据第一行两个整数n, m (0 < n,m <= 1000)。
给出n*m的字符矩阵 (0<ASCII码<127)。
给出n*m的数字矩阵  (矩阵保证无重复整数,范围在1--n*m)。

Output

对于每组数据,输出一行还原后的情书。

Sample Input

13 4ou!!I love y9 10 11 121 2 3 45 6 7 8

Sample Output

I love you!!



#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <string>#include <cmath>using namespace std;const int maxn = 1e6+100;char str[maxn];char s[1005][1005];int a[1005][1005];int main(){    int t;    cin>>t;    while(t--){        int x,y;        cin>>x>>y;        getchar();        for(int i=0;i<x;i++){            gets(s[i]);        }        for(int i=0;i<x;i++)            for(int j=0;j<y;j++){                scanf("%d",&a[i][j]);                str[a[i][j]]=s[i][j];            }        for(int i=1;i<=x*y;i++)            printf("%c",str[i]);        cout<<endl;    }    return 0;}

0 0
原创粉丝点击