⬆︎
×

[PAT-A] 1031 Hello World for U

Hyplus目录

Java

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str = scanner.next();
        int n1 = (str.length() + 2) / 3, n2 = str.length() + 2 - 2 * n1;

        int i = 0;
        for (int j = 0; j < n1 - 1; j++) {
            System.out.print(str.charAt(i++));
            for (int k = 0; k < n2 - 2; k++) {
                System.out.print(" ");
            }
            System.out.print(str.charAt(str.length() - i));
            System.out.println();
        }

        for (int k = 0; k < n2; k++) {
            System.out.print(str.charAt(i++));
        }
    }
}

C++

#include <iostream>
#include <cstring>

using namespace std;

const int N = 90;

char g[N][N];

int main() {
    memset(g, ' ', sizeof(g));
    string s;
    cin >> s;

    int n = s.size();
    int n1 = (n + 2) / 3;
    int n2 = n + 2 - 2 * n1;

    int k = 0;
    for (int i = 1; i <= n1; ++i) g[i][1] = s[k++];
    for (int i = 2; i <= n2; ++i) g[n1][i] = s[k++];
    for (int i = n1 - 1; i >= 1; --i) g[i][n2] = s[k++];

    for (int i = 1; i <= n1; ++i) {
        for (int j = 1; j <= n2; ++j)
            cout << g[i][j];
        cout << endl;
    }

    return 0;
}

发表评论