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

📄 3447028_wa.java

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

public class Main {
	private Scanner in;
	private HashMap <Integer, IntegerArray> hm = new HashMap <Integer, IntegerArray> ();
	private final static int MAX_TIME = 8785;

	public static void main(String [] args) {
		System.out.println("CALL FORWARDING OUTPUT");
		new Main().run();
		System.out.println("END OF OUTPUT");
	}

	class IntegerArray {
		int [] array = new int [MAX_TIME];
	}

	private void run() {
		in = new Scanner (System.in);
		int cas, now = 1;
		int a, b, c, d;

		cas = in.nextInt();
		while (cas-- > 0) {
			System.out.println("SYSTEM " + (now++));
			hm.clear();
			while (true) {
				a = in.nextInt();
				if (a == 0) {
					break;
				}
				b = in.nextInt();
				c = b + in.nextInt();
				d = in.nextInt();
				IntegerArray ia = new IntegerArray();
				if (hm.containsKey(a)) {
					ia = hm.get(a);
					hm.remove(a);
				}
				for (int i = b; i <= b + c; i++) {
					ia.array[i % MAX_TIME] = d;
				}
				hm.put(a, ia);
			}
			while (true) {
				a = in.nextInt();
				if (a == 9000) {
					break;
				}
				b = in.nextInt();
				int start = b;
				while (true) {
					if(!hm.containsKey(b)) {
						break;
					}
					IntegerArray ia = hm.get(b);
					c = ia.array[a];
					if (c == 0){
						break;
					} else {
						if (c == start) {
							b = 9999;
							break;
						} else {
							b = c;
						}
					}
				}
				System.out.println("AT " + format(a) + " CALL TO " + format(start) + " RINGS " + format(b));
			}
		}
		in.close();
	}

	private String format(int num) {
		String tmp = Integer.toString(num);
		int length = tmp.length();
		String ret = "";

		for (int i = 0; i < 4 - length; i++) {
			ret += "0";
		}
		return ret + tmp;
	}
}

⌨️ 快捷键说明

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