PAT-A 1031. Hello World for U
来源:互联网 发布:知乎分享你刚编的经历 编辑:程序博客网 时间:2024/04/30 03:44
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 rlowo
That is, the characters must be printed in the original order, starting top-down from the left vertical line with n1 characters, 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
程序代码:
#include<stdio.h>#include<string.h>#define MAX 10000char c[MAX]={0};void space(int n);int main(){ scanf("%s",c); int len = strlen(c); int n1,n2; if((len+2)%3==0){ n2 = (len+2)/3; n1 = ((len+2)-n2)/2; } else if((len+2)%3==1){ n2 = (len+2)/3+1; n1 = (len+2-n2)/2; } else{ n2 = (len+2)/3+2; n1 = ((len+2)-n2)/2; } int i=0,j=len-1; while(n1>1){ putchar(c[i++]); space(n2-2); putchar(c[j--]); putchar('\n'); n1--; } for(;i<=j;i++) putchar(c[i]); return 0;}void space(int n){ int i=0; for(i=0;i<n;i++) putchar(' ');}
- PAT-A 1031. Hello World for U
- PAT A 1031. Hello World for U (20)
- PAT-A 1031. Hello World for U (20)
- 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
- PAT 1031. Hello World for U (20)
- PAT--1031. Hello World for U
- [PAT-甲级]1031.Hello World for U
- 浙大PAT 1031题 1031. Hello World for U
- 【PAT Advanced Level】1031. Hello World for U (20)
- PAT (Advanced Level) Practise 1031. Hello World for U (20)
- 显示器闪屏
- PE文件结构详解-PE导入表
- 剑指offer第31题:连续子数组的最大和
- Polymer 前端开发框架学习教程
- 3、操作符
- PAT-A 1031. Hello World for U
- SVM(三),支持向量机,线性不可分和核函数
- Android 自定义View教程(3)
- OSI各层相关的协议
- 小米面试题
- 应用层HOOK技术的一些简单总结
- (笔记)linux常见指令总结
- PAT-A 1036. Boys vs Girls
- 递归介绍(斐波那契数列)