在這邊提供一下我的想法:
可以參考的做法:
#include <iostream>
#include <vector>
using namespace std ;
int main() {
ios_base::sync_with_stdio(0) ;
cin.tie(0) ;
int k , q , r ;
string s ;
while( cin >> k >> q >> r ) {
int a[q][k] ;
cin >> s ;
for( int i = 0 ; i < q ; i++ ) {
for( int j = 0 ; j < k ; j++ ) {
cin >> a[i][j] ;
}
}
vector< vector<char> > vec ;
for( int i = 0 ; i < q ; i++ ) {
char turn[k] ;
for( int j = 0 ; j < k ; j++ ) {
turn[--a[i][j]] = s[j] ; //用一個一維陣列儲存數字對應到的字串
}
vector<char> temp ; //存入一維vector
for( int j = 0 ; j < k ; j++ ) {
temp.push_back(turn[j]) ;
}
vec.push_back(temp) ; //有一維vector才能再存入二維vector中
for( int i = 0 ; i < k ; i++ ) { //更新s值
s[i] = temp[i] ;
}
}
for( int i = 0 ; i < r ; i++ ) {
for( int j = 0 ; j < q ; j++ ) {
cout << vec[j][i] ;
}
}
cout << endl ;
}
return 0 ;
}