题意:

输入后对齐输出。

思路:

①用一个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相关推荐

  1. UVa 1593 Alignment of code 解题报告

    /练习输入输出 #include <bits/stdc++.h>using namespace std; void print(string str, int len) {if(str.l ...

  2. UVALive4983 UVa1593 POJ3959 Alignment of Code【字符串流+输入输出】

    Regionals 2010 >> Europe - Northeastern 问题链接:UVALive4983 UVa1593 POJ3959 Alignment of Code. 问题 ...

  3. c++left right 和 setw() 函数的用法Alignment of Code

    首先先讲一讲这个函数的头文件是#include<iomanip>. setw(5) -- 设打印可用宽度为5 left -- 打印不足5个字时,输出靠左放,右边填空白,凑足宽度5 例如: ...

  4. 21行代码AC——习题5-1 代码对齐(Alignment of Code, UVa1593)——解题报告

    题意: 输入若干行代码,要求各列单词的左边界对齐且尽量靠左,单词之间至少要空一格,每个单词不超过80个字符,每行不超过180个字符,一共最多1000行. 思路: 1.输入内容存入二维数组 2.找出每列 ...

  5. 紫书《算法竞赛入门经典》

    紫书<算法竞赛入门经典>题目一览 第3章 数组和字符串(例题) UVA 272 TEX Quotes UVA 10082 WERTYU UVA 401 Palindromes UVA 34 ...

  6. 算法竞赛入门经典(第2版)—第五章(C++与STL入门)

    文章目录 零碎知识点整理 题目 10474 - Where is the Marble? 101 - The Blocks Problem 10815 - Andy's First Dictionar ...

  7. 集训der二周目学习(练习题+感悟)

    永动WA题机der二周目学习摘录 (一)有趣的题目 A - 看病要排队 HDU - 1873 Input Output Sample Input Sample Output 对题目的理解 代码 B - ...

  8. ACM题解系列之一:刘汝佳:《算法竞赛入门经典》(第2版)

    题是书中的题,解法参照了书中的解法,不少解法都做了简化和改进. 做程序,就要努力做到自己的程序是最好的! 第3章例题 POJ1488 UVA272 UVALive5381 TEX Quote[输入输出 ...

  9. ICPC程序设计题解书籍系列之一:刘汝佳:《算法竞赛入门经典》(第2版)

    题是书中的题,部分解法参照了书中的解法,不少解法都做了简化和改进. 做程序,就要努力做到自己的程序是最好的! 第3章 数组和字符串(例题) POJ1488 UVA272 UVALive5381 TEX ...

最新文章

  1. plotly基于dataframe数据绘制散点图(scatter plot)
  2. python官网下载步骤linux-linux如何安装python
  3. Python垃圾回收机制详解
  4. memset 数组初始化
  5. VS2010+matlab2012b环境下C++写MAT文件
  6. http java ssl_使用HttpClient通过HTTPS信任所有证书
  7. 使用jstat报告自定义JVM指标集
  8. mysql中datediff跨年的用法_Mysql 函数使用记录(一)——DATEDIFF、CONCAT
  9. 等高线生成地形_等高线一键变地形模型
  10. “长按地址在浏览器中打开”的解决办法
  11. 《高性能MySQL》之选择优化的数据类型
  12. Blazor使用PDFObject预览pdf文件
  13. Quartus-II 三种方式进行D触发器仿真
  14. .net Core 3.1下的Roslyn 动态编译
  15. 【所见即所得】数据分析最有用的25个 Matplotlib图【附代码】
  16. 医院病房监护系统和图书管理系统数据流图
  17. mysql 联合主键 自增_mysal 数据库联合主键自增问题
  18. 【教育教学资源】教育资讯、教学功能、当老师、或者补习班给学生的资料
  19. 影视广告创意与制作(三)
  20. EXCEL 制作三维散点图

热门文章

  1. 1.MySQL与MongoDB的操作对比,以及区别
  2. 读取properties文件
  3. CSS揭秘之《背景图案》
  4. CodeCombat编程游戏
  5. 提取ESX/ESXI4.0脚本安装文件ks.cfg、ks-first.cfg和ks-first-safe.cfg
  6. POJ 3057 Evacuation(二分匹配)
  7. 2015年获得大数据顶尖职位必备的9项技能
  8. 利用fnd_conc_global.set_req_globals设置子请求的Parent Request ID
  9. 界面-工作者线程结构之:异步委托调用
  10. android关闭触摸声音,如何在Android中以编程方式禁用触摸时的振动和声音?