最开始写的AC代码
#includeusing namespace std; string in[1005][185]; int len[185];//每一列的输出格式 int lens[1005];//每行的长度 int i = 0,ii = 0,iii = 0; void print(string s,int len) { cout< >in[i][j++]); lens[iii++] = j - 1; //cout<接下来是搜了题解后优化修改的代码
巧用STL:
#includeusing namespace std; vector line[1005]; int maxcol[185] = {0};//每列单词最长值,使用方法高能 int l = 0; int main () { //IN OUT string s; while(getline(cin,s)) { stringstream ss(s); while(ss>>s) { maxcol[line[l].size()] = max(maxcol[line[l].size()] , (int)s.size());//nice line[l].push_back(s); } l++; } for(int i=0;i 1、用STL中的不定长数组vector储存数据的好处:
可以直接用size测出每一行字符串的个数
2、maxcol数组使用很nice,不需要再写一个双层循环,来记录每一列最长字符串的长度。详细用法见代码。



