zoukankan      html  css  js  c++  java
  • PAT 天梯赛 L1-039. 古风排版 【字符串处理】

    题目链接

    https://www.patest.cn/contests/gplt/L1-039

    思路

    先根据 len 和 n 判断 有几个 列和几行,然后 从最右边 到 最左边 从上到下 将字符串 录入 但是要注意 只有 k < s.size() 的时候 才赋值 不然可能出现未知的错误

    AC代码

    #include <iostream>
    #include <cstdio>
    #include <algorithm>
    #include <cmath>
    #include <deque>
    #include <vector>
    #include <queue>
    #include <string>
    #include <cstring>
    #include <map>
    #include <stack>
    #include <set>
    #include <cstdlib>
    #include <ctype.h>
    #include <numeric>
    #include <sstream>
    using namespace std;
    
    typedef long long LL;
    const double PI = 3.14159265358979323846264338327;
    const double E = 2.718281828459;
    const double eps = 1e-6;
    const int MAXN = 0x3f3f3f3f;
    const int MINN = 0xc0c0c0c0;
    const int maxn = 1e3 + 5;
    const int MOD = 1e9 + 7;
    char vis[maxn][maxn];
    
    int main()
    {
        int n;
        cin >> n;
        getchar();
        string s;
        getline(cin, s);
        int len = s.size();
        int temp = (len / n);
        if (len % n)
            temp++;
        int i, j, k = 0;
        for (i = 0; i < maxn; i++)
        {
            for (j = 0; j < maxn; j++)
                vis[i][j] = ' ';
        }
        for (i = temp - 1; i >= 0; i--)
        {
            for (j = 0; j < n; j++)
            {
                if (k < s.size())
                    vis[j][i] = s[k++]; 
            }       
        }   
        for (i = 0; i < n; i++)
        {
            for (j = 0; j < temp; j++)
                cout << vis[i][j];
            cout << endl;
        }
    }
  • 相关阅读:
    各种快递查询Api接口(快递鸟)
    验证码识别,发票编号识别
    ugui自制摇杆。
    个人网站
    unity访问php
    其实我是学文学的
    unity发布ios游戏总结
    Unity连接本地数据库sqlite
    gcc中gdb调试工具的使用
    windows系统下调试uCOS-II
  • 原文地址:https://www.cnblogs.com/Dup4/p/9433292.html
Copyright © 2011-2022 走看看