我去啊杭电这题有毒。。。
前几天写了下,没完全理解vector一直WA,今天再写还过不了,无奈只能去poj了,很快就A了。于是我就找不同,除了case意外几乎没不同的,vector都开到130000了不可能不够,贡献了15WA结果并没有什么卵用。看了下别人的几乎都没用vector,我不知道为什么了。。。
vector是个2维数组,输出要用特殊方法,恩,记住了。
#include <stdio.h>
#include <algorithm>
#include <iostream>
#include <queue>
#include <cmath>
#include <set>
#include <vector>
#include <string>
#include <sstream>
#include <ctype.h>
#include <string.h>
using namespace std;
const int N = 130000;
const int INF = 1000000;
vector <string> vec[N];
int main()
{
// freopen("in.txt", "r", stdin);
int n, len[N];
string line, buf;
n = 0;
memset(len, 0, sizeof(len));
while((getline(cin, line) != NULL))
{
if(line == "") continue;
n ++;
stringstream ss(line);
int i = 0;
while(ss >> buf)
{
len[i] = max(len[i], (int)buf.size());
vec[n].push_back(buf);
i ++;
}
}
for(int i = 1; i <= n; i ++)
{
// printf("<%d>", vec[i].size());
for(int j = 0; j < vec[i].size(); j ++)
{
int len0 = vec[i][j].size();
cout << vec[i][j];
if(j != (vec[i].size() - 1))
{
for(int k = len0; k <= len[j]; k ++) printf(" ");
}
}
printf("\n");
}
return 0;
}