📄 3527799_wa.java
字号:
import java.util.*;
public class Main {
private Scanner in;
public static void main(String [] args) {
new Main().run();
}
private void run() {
in = new Scanner(System.in);
int n, maxLength;
String [] str;
String [] tmp;
while (in.hasNext()) {
n = in.nextInt();
maxLength = 0;
str = new String [n];
for (int i = 0; i < n; i++) {
str[i] = in.next();
if (str[i].length() > maxLength) {
maxLength = str[i].length();
}
}
Arrays.sort(str);
System.out.println("------------------------------------------------------------");
for (int c = n; c > 0; c--) {
int r = n / c + (n % c == 0 ? 0 : 1);
int cnt = 0;
tmp = new String [r];
Arrays.fill(tmp, "");
for (int i = 1; i <= c; i++) {
for (int j = 0; j < n / c + (n % c == 0 ? 0 : (i <= n % c ? 1 : 0)); j++) {
tmp[j] += str[cnt];
if (i < c) {
tmp[j] += getBlanks(str[cnt].length(), maxLength + 2);
}
cnt++;
}
}
boolean fail = false;
for (int i = 0; i < r; i++) {
if (tmp[i].length() > 60) {
fail = true;
break;
}
}
if (!fail) {
for (int i = 0; i < r; i++) {
System.out.println(tmp[i]);
}
break;
}
}
}
}
private String getBlanks(int l1, int l2) {
String ret = "";
for (int i = l1; i < l2; i++) {
ret += " ";
}
return ret;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -