1031. Hello World for U (20)
2015-10-03 09:31
351 查看
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 d e l l r lowo
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 d l l lowor
提交代码
// http://www.patest.cn/contests/pat-a-practise/1031 #include <cstdio> #include <cstdlib> #include <iostream> #include <vector> #include <queue> #include <map> #include <algorithm> #include <string> using namespace std; #define N 100001 int main() { //freopen("in.txt","r",stdin); //freopen("out.txt","w",stdout); string s ; while(getline(cin , s)) { int len = s.size(); int len2 = (len + 2) / 3 ; int n1 = len2 ; int n3 = len - 2*(n1 - 1) ; int space = len - 2 * n1 ; for(int i = 0 ;i < n1 - 1 ; i++) { printf("%c" , s[i]); for(int j = 0 ; j < space ; j ++) printf(" "); printf("%c\n" , s[len - i - 1]); } for(int i = n1-1 ; i < n1 - 1 + n3 ; i++) { printf("%c",s[i]); } printf("\n"); } return 0 ; }
相关文章推荐
- ucGUI学习笔记之对话框
- poj2689
- DirectX11 点光
- ios 开发学习 :多线程之GCD的使用指南
- 关于工作量估算,所有你知道的和你不知道
- poj2689
- 128. Longest Consecutive Sequence (List, Queue)
- uva 1025 A Spy in the Metro
- 做一个互联网+时代的新农民
- 代理设计模式
- Discuz! Database Error (2002) notconnect
- iOS的实时搜索:UISearchBar与UISearchController
- Todd's Matlab讲义第1讲:向量,函数和作图
- LeetCode 065 Valid Number
- 进程列表中多个JAVA进程的区分识别
- 八大排序算法的 Python 实现
- Java设置环境变量
- UI:修改模拟器类型、多线程理解
- 信息安全系统设计基础第三周学习总结
- 这么多的技术,作为一个freshman,什么研究?