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

📄 4019964_ac_172ms_2172k.java

📁 北大大牛代码 1240道题的原代码 超级权威
💻 JAVA
字号:
import java.util.*;

public class Main {
	private Scanner in;

	public static void main(String[] args) {
		new Main().run();
	}

	class Info {
		int count, length, start, distance;
		public Info(int count, int length, int start, int distance) {
			this.count = count;
			this.length = length;
			this.start = start;
			this.distance = distance;
		}

		public boolean betterThan(Info that) {
			if (this.count != that.count) {
				return this.count > that.count;
			}
			if (this.length != that.length) {
				return this.length > that.length;
			}
			if (this.start != that.start) {
				return this.start > that.start;
			}
			return this.distance < that.distance;
		}
	}

	private void run() {
		in = new Scanner(System.in);
		String water;

		while (true) {
			water = in.nextLine();
			if ("END".equals(water)) {
				break;
			}
			Info best = new Info(-1, -1, water.length() - 1, 1);
			for (int start = 0; start < water.length();start++) {
				if (water.charAt(start) != '.') {
					continue;
				}
				for (int distance = 1; distance < water.length() ; distance++) {
					int count = 1;
					int length = start;
					while (length + distance < water.length() && water.charAt(length + distance) == '.') {
						count++;
						length += distance;
					}
					if (length + distance < water.length()) {
						length += distance;
					}
					Info info = new Info(count, length, start, distance);
					if (info.betterThan(best)) {
						best = info;
					}
				}
			}
			System.out.println(best.start + " " + best.distance);
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -