⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3527799_wa.java

📁 北大大牛代码 1240道题的原代码 超级权威
💻 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 + -