UVA 1593 Alignment of Code
题意:
输入后对齐输出。
思路:
①用一个vector数组装每行的字符。
②用整型数组len存每列最大的长度加一(多算一个空格),比如在样例输入中,第一列最大的是start:。
1 #include<iostream> 2 #include<algorithm> 3 #include<string> 4 #include<vector> 5 #include<sstream> 6 #include<cstdio> 7 #include<set> 8 #include<cstring> 9 using namespace std; 10 vector<string> vtr[1005]; 11 string str; 12 int len[185];//记录每列string最大的长度 13 int main() 14 { 15 int cnt = 0;//数行数 16 memset(len, 0, 185); 17 while (getline(cin, str)) 18 { 19 stringstream ss(str); 20 string word; 21 int cnt_word = 0;//数单词数 22 while (ss >> word) 23 { 24 vtr[cnt].push_back(word); 25 //每次比较,存入最大的长度,length+1是因为最少都要一个空格 26 len[cnt_word] = len[cnt_word] > (word.length() + 1) ? len[cnt_word] : word.length() + 1; 27 cnt_word++; 28 } 29 cnt++; 30 } 31 32 for (int i = 0; i < cnt; i++)//行 33 { 34 for (int j = 0; j < vtr[i].size(); j++)//列 35 { 36 if (len[j]> vtr[i][j].length())//不够长要补空格 37 { 38 cout << vtr [i][j]; 39 for (int k = 0;j!= vtr[i].size()-1&& k < len[j] - vtr[i][j].length(); k++) 40 { 41 cout << " "; 42 } 43 } 44 else 45 { 46 cout << vtr[i][j]; 47 } 48 } 49 50 cout << "\n"; 51 } 52 53 return 0; 54 }
转载于:https://www.cnblogs.com/fudanxi/p/10375196.html
UVA 1593 Alignment of Code相关推荐
- UVa 1593 Alignment of code 解题报告
/练习输入输出 #include <bits/stdc++.h>using namespace std; void print(string str, int len) {if(str.l ...
- UVALive4983 UVa1593 POJ3959 Alignment of Code【字符串流+输入输出】
Regionals 2010 >> Europe - Northeastern 问题链接:UVALive4983 UVa1593 POJ3959 Alignment of Code. 问题 ...
- c++left right 和 setw() 函数的用法Alignment of Code
首先先讲一讲这个函数的头文件是#include<iomanip>. setw(5) -- 设打印可用宽度为5 left -- 打印不足5个字时,输出靠左放,右边填空白,凑足宽度5 例如: ...
- 21行代码AC——习题5-1 代码对齐(Alignment of Code, UVa1593)——解题报告
题意: 输入若干行代码,要求各列单词的左边界对齐且尽量靠左,单词之间至少要空一格,每个单词不超过80个字符,每行不超过180个字符,一共最多1000行. 思路: 1.输入内容存入二维数组 2.找出每列 ...
- 紫书《算法竞赛入门经典》
紫书<算法竞赛入门经典>题目一览 第3章 数组和字符串(例题) UVA 272 TEX Quotes UVA 10082 WERTYU UVA 401 Palindromes UVA 34 ...
- 算法竞赛入门经典(第2版)—第五章(C++与STL入门)
文章目录 零碎知识点整理 题目 10474 - Where is the Marble? 101 - The Blocks Problem 10815 - Andy's First Dictionar ...
- 集训der二周目学习(练习题+感悟)
永动WA题机der二周目学习摘录 (一)有趣的题目 A - 看病要排队 HDU - 1873 Input Output Sample Input Sample Output 对题目的理解 代码 B - ...
- ACM题解系列之一:刘汝佳:《算法竞赛入门经典》(第2版)
题是书中的题,解法参照了书中的解法,不少解法都做了简化和改进. 做程序,就要努力做到自己的程序是最好的! 第3章例题 POJ1488 UVA272 UVALive5381 TEX Quote[输入输出 ...
- ICPC程序设计题解书籍系列之一:刘汝佳:《算法竞赛入门经典》(第2版)
题是书中的题,部分解法参照了书中的解法,不少解法都做了简化和改进. 做程序,就要努力做到自己的程序是最好的! 第3章 数组和字符串(例题) POJ1488 UVA272 UVALive5381 TEX ...
最新文章
- plotly基于dataframe数据绘制散点图(scatter plot)
- python官网下载步骤linux-linux如何安装python
- Python垃圾回收机制详解
- memset 数组初始化
- VS2010+matlab2012b环境下C++写MAT文件
- http java ssl_使用HttpClient通过HTTPS信任所有证书
- 使用jstat报告自定义JVM指标集
- mysql中datediff跨年的用法_Mysql 函数使用记录(一)——DATEDIFF、CONCAT
- 等高线生成地形_等高线一键变地形模型
- “长按地址在浏览器中打开”的解决办法
- 《高性能MySQL》之选择优化的数据类型
- Blazor使用PDFObject预览pdf文件
- Quartus-II 三种方式进行D触发器仿真
- .net Core 3.1下的Roslyn 动态编译
- 【所见即所得】数据分析最有用的25个 Matplotlib图【附代码】
- 医院病房监护系统和图书管理系统数据流图
- mysql 联合主键 自增_mysal 数据库联合主键自增问题
- 【教育教学资源】教育资讯、教学功能、当老师、或者补习班给学生的资料
- 影视广告创意与制作(三)
- EXCEL 制作三维散点图
热门文章
- 1.MySQL与MongoDB的操作对比,以及区别
- 读取properties文件
- CSS揭秘之《背景图案》
- CodeCombat编程游戏
- 提取ESX/ESXI4.0脚本安装文件ks.cfg、ks-first.cfg和ks-first-safe.cfg
- POJ 3057 Evacuation(二分匹配)
- 2015年获得大数据顶尖职位必备的9项技能
- 利用fnd_conc_global.set_req_globals设置子请求的Parent Request ID
- 界面-工作者线程结构之:异步委托调用
- android关闭触摸声音,如何在Android中以编程方式禁用触摸时的振动和声音?