1036. Crypto Columns 2016 11 02
Posted 任我主宰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1036. Crypto Columns 2016 11 02相关的知识,希望对你有一定的参考价值。
/*
对于题目多读几遍,然后再关键字排序的时候,把对应的数组序号也排序,
EYDE
MBLR
THAN
MEKT
ETOE
EOTH
MEETME
BYTHEO
LDOAKT
REENTH
*/
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main(){
int n;
string keyword;
while(cin>>keyword&&keyword!="THEEND"){
string s;
cin>>s;
int len = keyword.length();
int slen = s.length();
while(slen%len!=0){
s = s + "X";
slen = s.length();
}
slen = s.length();
int row = slen / len;
int column = len;
int base = 0;
char a[row][column];
char b[row][column];
for(int i=0;i<column;i++){
for(int j=0;j<row;j++){
a[j][i]=s[base];
base ++;
}
}
int y[len];
char s1[len];
for(int i=0;i<len;i++){
s1[i] = keyword[i];
}
for(int t=0;t<len;t++){
y[t] = t;
}
for(int i=0;i<len;i++){
for(int j=0;j<len-i-1;j++){
if(s1[j] > s1[j+1]){
swap(s1[j],s1[j+1]);
swap(y[j],y[j+1]);
}
}
}
for(int w=0;w<column;w++){
for(int r=0;r<row;r++){
b[r][y[w]] = a[r][w];
}
}
for(int w=0;w<row;w++){
for(int r=0;r<column;r++){
cout<<b[w][r];
}
}
cout<<endl;
}
return 0;
}
以上是关于1036. Crypto Columns 2016 11 02的主要内容,如果未能解决你的问题,请参考以下文章
nullcon HackIM 2016 -- Crypto Question 3
nullcon HackIM 2016 -- Crypto Question 2
无法自动装配字段:私有 org.springframework.security.crypto.password.PasswordEncoder;