加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

HOJ 1011 UNIX ls

发布时间:2020-12-15 23:25:05 所属栏目:安全 来源:网络整理
导读:一道暴力题 最难的是如何读懂题(用百度) 对字符串进行排序 然后输出就行了 #include cstdio#include cstring#include iostream#include algorithmusing namespace std;char s[105][65];inline bool cmp(char a[65],char b[65]){// puts(a);puts(b);for(int

一道暴力题

最难的是如何读懂题(用百度)

对字符串进行排序

然后输出就行了

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
char s[105][65];
inline bool cmp(char a[65],char b[65]){
	// puts(a);puts(b);
	for(int i=0;i<60;i++){
		if(a[i]<b[i]) return 1;
		if(a[i]>b[i]) return 0;
	}
	return 0;
}
int n;
inline void sort(){
	for(int i=0;i<n;i++)
		for(int j=i+1;j<n;j++)
			if(!cmp(s[i],s[j]))
				swap(s[i],s[j]);
}
int id[105];
int main(){
	while(scanf("%d",&n)!=EOF){
		puts("------------------------------------------------------------");
		for(int i=0;i<n;i++) scanf("%s",s[i]);
		int max_len=0;
		for(int i=0;i<n;i++) max_len=max(max_len,(int)strlen(s[i]));
		sort();
		int num=(60-max_len)/(max_len+2)+1;
		int cnt=num;
		if(n%num==0) num=n/num;
		else num=n/num+1;
		// puts(s[2]);
		// cout<<cmp(s[0],s[2])<<endl;
		for(int i=0;i<num;i++)
			for(int j=i;j<n;j+=num){
				int len=strlen(s[j]);
				for(int k=0;k<len;k++) putchar(s[j][k]);
				if((j-i)/num==cnt){
					for(int k=len;k<max_len;k++) putchar(‘ ‘);
					puts("");
					continue;
				}
				for(int k=len;k<max_len+2;k++) putchar(‘ ‘);
				if((j+num)>=n) puts("");
			}
	}
	return 0;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读