publicclassHello { publicstaticvoidMain() { bool[] history; int[] cells; int n;
// Let's challenge in my favorite language!! string line; line = System.Console.ReadLine(); n = int.Parse(line); cells = newint[n]; line = System.Console.ReadLine(); var s = line.Split(' '); for (var i = 0; i < n; i++) { cells[i] = int.Parse(s[i]); }
var canGo = new System.Func<int, bool>(num => { if (num == n - 1) returntrue; if (num > n - 1) returnfalse;
var current = num;
history = newbool[100]; history[0] = true;
while (current != n - 1) { history[current] = true; current = current + cells[current]; if (history[current] || current < 0 || current > n - 1) { returnfalse; } }
returntrue; });
line = System.Console.ReadLine(); var qcount = int.Parse(line); var results = newbool[qcount]; int k; for (var i = 0; i < qcount; i++) { line = System.Console.ReadLine(); k = int.Parse(line); results[i] = canGo(k); }
for (var i = 0; i < qcount; i++) { System.Console.WriteLine(results[i] ? "Yes" : "No"); } } }
第5期一样简单。但是背后隐藏着的第5期+则开始玩 OI 了。五月份的时候lan发了链接,当时看到第一题想不出一个最快的解法(虽然题目没有要求最快;这种拼图在现实中也很令我头疼)就没做下去了,到现在都没做。后来lan说她刷完了,“挺简单的”。这印证了我的结论,不要和lan讨论题目,否则你会被虐的体无完肤。