THUPC2018
THUPC2018 copied to clipboard
大模拟第四个技能有问题
大模拟发动拉比哩比(rabiribi),标程没有考虑障碍物遮挡后方三角区域。仅考虑了遇到障碍物后移和出界
else if (s[i] == 4)
{
for (int j = 1; j <= k; j++)
if (check_in(j, i))
{
printf("%d is knoced from (%d,%d) to", j, x[j], y[j]);
x[j] += dx[d[i]];
y[j] += dy[d[i]];
while (map[x[j]][y[j]])
{
if (!x[j]) x[j] = n;
else if (x[j] == n + 1) x[j] = 1;
else if (!y[j]) y[j] = m;
else if (y[j] == m + 1) y[j] = 1;
else
{
x[j] += dx[d[i]];
y[j] += dy[d[i]];
}
}
printf(" (%d,%d)\n", x[j], y[j]);
}
}
大模拟发动拉比哩比(rabiribi),标程没有考虑障碍物遮挡后方三角区域。仅考虑了遇到障碍物后移和出界
else if (s[i] == 4) { for (int j = 1; j <= k; j++) if (check_in(j, i)) { printf("%d is knoced from (%d,%d) to", j, x[j], y[j]); x[j] += dx[d[i]]; y[j] += dy[d[i]]; while (map[x[j]][y[j]]) { if (!x[j]) x[j] = n; else if (x[j] == n + 1) x[j] = 1; else if (!y[j]) y[j] = m; else if (y[j] == m + 1) y[j] = 1; else { x[j] += dx[d[i]]; y[j] += dy[d[i]]; } } printf(" (%d,%d)\n", x[j], y[j]); } }
这个代码是给出的标程