• poj1617


    简单模拟

    View Code
    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cstring>
    #include <algorithm>
    using namespace std;
    
    #define max_key_len 15
    #define max_len 105
    
    struct Elem
    {
        char ch;
        int index;
    }letter[max_key_len];
    
    char key[max_key_len];
    int key_len;
    char st[max_len];
    int map[max_key_len];
    
    bool operator < (const Elem &a, const Elem &b)
    {
        if (a.ch == b.ch)
            return a.index < b.index;
        return a.ch < b.ch;
    }
    
    void work()
    {
        key_len = strlen(key);
        for (int i = 0; i < key_len; i++)
        {
            letter[i].ch = key[i];
            letter[i].index = i;
        }
    }
    
    void output()
    {
        for (int i = 0; i < key_len; i++)
            map[letter[i].index] = i;
        int row = strlen(st) / key_len;
    
        for (int i = 0; i < row; i++)
        {
            for (int j = 0; j < key_len; j++)
                putchar(st[i + map[j] * row]);
        }
        putchar('\n');
    }
    
    int main()
    {
        //freopen("t.txt", "r", stdin);
        while (gets(key), strcmp(key, "THEEND") != 0)
        {
            gets(st);
            work();
            sort(letter, letter + key_len);
            output();
        }
        return 0;
    }
  • 相关阅读:
    Linux之文档与目录结构
    Linux介绍
    CentOS7下zip解压和unzip压缩文件
    yum 命令讲解
    Linux安装redis
    pip更新问题
    第一章-KS8初体验 安装部署
    MVC Razor视图引擎
    MVC 组件之间的关系
    Web应用程序和网站的区别
  • 原文地址:https://www.cnblogs.com/rainydays/p/2826129.html
Copyright © 2020-2023  润新知