标签:模拟
背景:多久没有一次ac过了,要提升一次ac的几率啊!这对比赛是很重要的。
思路:这个题主要是更加熟悉了下vector,然后就是一些格式的问题,构造即可。主要感受还是一定要把思路想好再写题!
#include <set> #include <stack> #include <queue> #include <vector> #include <cstdio> #include <cstring> #include <cstdlib> #include <iostream> #include <algorithm> #define LL long long int using namespace std; const int M=69,INF=0x3fffffff; bool cmp(string a,string b){ return a < b; } int main(void){ int t; while(~scanf("%d",&t)){ vector<string> vector1; int Max=0,c,r; for(int k=1;k <= t;k++){ string string1; cin >> string1; if(string1.size() > Max) Max=string1.size(); vector1.push_back(string1); } sort(vector1.begin(),vector1.end(),cmp); c=(60-Max)/(Max+2)+1; for(r=0;;r++) if(r*c >= t) break; cout << "------------------------------------------------------------" << endl; for(int i=0; i < r;i++){ for(int j=0;j < c;j++){ if(j*r + i < vector1.size()){ cout << vector1[j*r+i]; if(j != c-1){ int x=Max+2-vector1[j*r+i].size(); for(int k=x;k > 0;k--) cout << " "; } } } cout << endl; } } return 0; }
标签:模拟
原文地址:http://blog.csdn.net/jibancanyang/article/details/44839155