[PAT]1031. Hello World for U (20)(Java实现)
来源:互联网 发布:视频快速剪辑软件 编辑:程序博客网 时间:2024/06/07 01:51
1031. Hello World for U (20)
时间限制
400 ms
内存限制
65536 kB
代码长度限制
16000 B
判题程序
Standard
作者
CHEN, Yue
Given any string of N (>=5) characters, you are asked to form the characters into the shape of U. For example, "helloworld" can be printed as:
h de ll rlowoThat is, the characters must be printed in the original order, starting top-down from the left vertical line with n1characters, then left to right along the bottom line with n2 characters, and finally bottom-up along the vertical line with n3 characters. And more, we would like U to be as squared as possible -- that is, it must be satisfied that n1 = n3 = max { k| k <= n2 for all 3 <= n2 <= N } with n1 + n2 + n3 - 2 = N.
Input Specification:
Each input file contains one test case. Each case contains one string with no less than 5 and no more than 80 characters in a line. The string contains no white space.
Output Specification:
For each test case, print the input string in the shape of U as specified in the description.
Sample Input:helloworld!Sample Output:
h !e dl llowor
因为字符串长度不超过80,所以n1、n2、n3的长度可以用暴力解法求解
package go.jacob.day1128;import java.util.Scanner;/** * * @author Administrator * 1031. Hello World for U (20) */public class Demo2 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String s = sc.next();int num = s.length();int n1, n3 = num;for (n1 = 2; n1 < num; n1++) {n3 = num + 2 - 2 * n1;if (n3 < n1) {n1--;n3 = num + 2 - 2 * n1;break;}}int head = 0, tail = num - 1;for (int i = 0; i < n1 - 1; i++) {for (int j = 0; j < n3; j++) {if (j == 0)System.out.print(s.charAt(head++));else if (j == n3 - 1)System.out.print(s.charAt(tail--));elseSystem.out.print(' ');}System.out.println();}for (int j = 0; j < n3; j++) {System.out.print(s.charAt(head++));}sc.close();}}
阅读全文
0 0
- [PAT]1031. Hello World for U (20)(Java实现)
- 1031. Hello World for U (20)-PAT
- 【PAT】1031. Hello World for U (20)
- PAT 1031. Hello World for U (20)
- PAT 1031. Hello World for U (20)
- PAT 1031. Hello World for U (20)
- pat 1031. Hello World for U (20)
- PAT 1031. Hello World for U (20)
- PAT 1031. Hello World for U (20)
- PAT 1031. Hello World for U (20)
- PAT-A 1031. Hello World for U
- 【PAT】1031. Hello World for U
- PAT--1031. Hello World for U
- [PAT-甲级]1031.Hello World for U
- PAT 1002 Hello World for U (20)
- PAT- Hello World for U (20)
- 【PAT】A1031. Hello World for U (20)
- PAT---A1031. Hello World for U (20)
- Spring Boot 过滤器、监听器
- 2017年度最受欢迎开源中国项目:roncoo-pay参与投票评选
- 工具类总结(5)-图片验证码工具类
- 在线考试系统
- Instructions on EINT configuration for SIM hot swap for MT6575/MT6577 platforms
- [PAT]1031. Hello World for U (20)(Java实现)
- dns服务
- javadoc 错误:编码gbk不可映射字符
- Javase—IO流
- SpringMVC+Mybatis项目
- Word制作学生点名册表格模板
- mybatis缓存(一)
- UILabel的基本使用
- java从命令行参数args提取多个参数的工具类