3535043_ac_1782ms_2192k.java

来自「北大大牛代码 1240道题的原代码 超级权威」· Java 代码 · 共 47 行

JAVA
47
字号
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 z, m, n;
		boolean [] isobstacle;
		boolean [] visited;


		n = in.nextInt();
		z = in.nextInt();
		m = in.nextInt();
		visited = new boolean [n + 1];
		isobstacle = new boolean [n + 1];
		for (int i = 0; i < m; i++) {
			isobstacle[in.nextInt()] = true;
		}
		for (int k = 1; ; k++) {
			int st = 1;
			Arrays.fill(visited, false);
			visited[1] = true;
			boolean fail = false;
			while (st != z) {
				st += k;
				if (st > n) {
					st %= n;
				}
				if (isobstacle[st] || visited[st]) {
					fail = true;
					break;
				}
				visited[st] = true;
			}
			if (!fail) {
				System.out.println(k);
				break;
			}
		}
	}
}

⌨️ 快捷键说明

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