代码对齐 (Alignment of Code,ACM/ICPC NEERC 2010,UVa1593)

Posted secoding

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了代码对齐 (Alignment of Code,ACM/ICPC NEERC 2010,UVa1593)相关的知识,希望对你有一定的参考价值。

题目描述:

技术分享图片

 

解题思路:

 输入时提出单个字符串,并用一个数组记录每列最长长度,格式化输出

 1 #include <iostream>
 2 #include <algorithm>
 3 #include <string>
 4 #include <sstream> 
 5 #include <vector>
 6 using namespace std;
 7 
 8 vector<string> words[1005] ;
 9 int lmax[255] ;
10 int main(int argc, char *argv[])
11 {
12     string buf,str ;
13     int k=0,i=0;
14     while(getline(cin,str)){
15         stringstream ss(str) ;
16         while(ss >> buf){
17             int len = buf.size() ;
18             lmax[k] = max(lmax[k],len) ;    // 每列最长字符
19             words[i].push_back(buf) ;    
20             k++ ;
21         }
22         i++ ; 
23     }
24     for(int j = 0; j<i; j++)
25     {
26         for(int k = 0; k<words[j].size(); k++)
27         {
28             cout << words[j][k];
29             if(k==words[i].size()-1)
30                 break;
31             int siz = (int)words[j][k].size();
32             for(int l = 0; l < lmax[k]-siz; l++)
33                 cout << " ";
34             cout << " ";
35         }
36         cout << endl;
37     }
38     return 0;
39 }

 

以上是关于代码对齐 (Alignment of Code,ACM/ICPC NEERC 2010,UVa1593)的主要内容,如果未能解决你的问题,请参考以下文章

UVA 1593 Alignment of Code

人脸对齐--One Millisecond Face Alignment with an Ensemble of Regression Trees

ARMv8-A非对齐数据访问支持(Alignment support)

当使用对齐属性时,Flutter 容器没有包裹到容器的大小。

使用 Layout.alignment 对齐 RowLayout 中的项目

非对齐访问和Alignment Fault