AT_utpc2022_d.Balance

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

本题为交互题(你的程序需要和评测程序通过标准输入输出进行交互)。

你有 NN 个砝码。已知第 ii 个砝码的重量为 PiP_i,且 (P1,…,PN)(P_1, \dots, P_N) 是 11 到 NN 的一个排列,但 PiP_i 的具体值未知。此外,有一根标有 −2N-2N 到 2N2N 之间整数刻度的杆,杆在位置 00 处被悬挂。每一个标线的位置都有一个孔,每个孔最多只能挂一个砝码。最初,杆上没有挂任何砝码,杆处于平衡状态。

zkou 君希望最终把手上的 NN 个砝码全部挂到杆上,并且让杆保持平衡。你可以指示 zkou 君进行以下两种操作之一:

  • 从手上的砝码中选择一个,将其挂到尚未有砝码的位置 xx 的孔上。
  • 从杆上取下一个已经挂着的砝码,放回手中。

每完成一个操作后,zkou 君会告诉你杆此时是向左倾斜、向右倾斜,还是处于平衡状态。请控制在 1000010000 次操作以内,将手中的 NN 个砝码全部挂到杆上,并让杆平衡。可以证明,在题目的约束条件下,总存在这样的操作方案。

关于杆的倾斜和力矩定义:杆上已挂有 kk 个砝码,第 jj 个砝码的重量为 wjw_j,挂在位置 xjx_j,则杆的力矩 M=∑j=1kwjxjM = \sum_{j=1}^k w_j x_j。若 M>0M > 0,则杆向右倾斜;若 M=0M = 0,则杆平衡;若 M<0M < 0,则杆向左倾斜。

输入格式

本题为交互题(你的程序需要和评测程序通过标准输入输出进行交互)。

首先,从标准输入读入 NN。

NN

接下来,在把手中的 NN 个砝码全部挂上并让杆达到平衡之前,你可以用如下格式向 zkou 君输出指令:

如果选择手上第 ii 个砝码,并将其挂到尚未有砝码的位置 xx 上:

1 ii xx

其中,i,xi, x 必须满足 1≤i≤N,−2N≤x≤2N1\leq i\leq N, -2N\leq x\leq 2N。

如果将杆上已挂好的第 ii 个砝码取下,放回手中:

2 ii

其中,ii 满足 1≤i≤N1\leq i\leq N。

每个操作后,评测程序会通过标准输入反馈如下形式的结果:

SS

其中 SS 是下列字符串之一:

  • Right:操作后杆向右倾斜。
  • Balanced:操作后杆达到平衡。
  • Left:操作后杆向左倾斜。
  • -1:输出不合法。

收到 -1 时,请立刻终止程序。导致输出不合法的常见原因如下:

  • 输出格式不符。
  • 指令次数超过上限。
  • 向已经挂着的孔再挂砝码。
  • 向手中还未挂的砝码发起取下操作。
  • 向已挂有砝码的位置再挂其它砝码。

当你已将 NN 个砝码全部挂到杆上,并且杆保持平衡,请输出一行 0 并立即退出程序。如果全部砝码已挂且杆平衡,则本题将判定为正确。

0

输出格式

如上描述,依操作输出指令,每条指令单独一行,结尾需换行,并及时刷新输出。

说明/提示

部分得分

  • 若你能解决 1≤N≤1001 \leq N \leq 100 的测试点,将获得 3030 分。

注意事项

  • 每次输出后请及时添加换行并刷新输出,否则可能因 TLE 被判为未通过。
  • 若交互过程中出现非法输出或中途退出,评测结果为未定。
  • 答案输出后(或收到 -1 后)请立即正常退出程序,否则评测结果未定。
  • 特别注意,不要输出多余的换行或空格,这也会被视为输出格式错误。

输入输出样例

以下为 N=2N = 2 且 (P1,P2)=(2,1)(P_1, P_2) = (2, 1) 时的交互样例。

输入 输出 说明
2 读入 NN
1 2 -4 将第 22 个砝码挂到 −4-4 位置
Left 杆向左倾斜
1 1 3 将第 11 个砝码挂到 33 位置
Right 杆向右倾斜
2 1 取下第 11 个砝码
Left 杆向左倾斜
1 1 2 将第 11 个砝码挂到 22 位置
Balanced 杆平衡
0 所有砝码已挂、杆平衡,输出 0 并立即退出

输入格式

如上交互格式描述。

输出格式

如上交互格式描述。

提示

部分分数

  • 对 1≤N≤1001 \leq N \leq 100 的数据点,答对则得 3030 分。

注意点

  • 每次输出指令需要换行并刷新。
  • 遇到任何非法指令反馈或检测到异常时应立即退出。
  • 出现多余的空格或换行也会被判为格式错误。

约束条件

  • 输入均为整数。
  • 1≤N≤30001 \leq N \leq 3000。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页