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

CRYPTO-MD5

无法自动装配字段:私有 org.springframework.security.crypto.password.PasswordEncoder;

Crypto.js 用字节数组中的密钥和 iv(向量)解密

SecureRandom 提供程序“Crypto”在 Android N 中无法确定性地生成密钥