提交翻译
查看原帖
提交翻译
836448
stylus楼主2024/5/26 10:53

问题描述

有 NN 行和 NN 列的格子,从上往下第 ii 行,从左往右第 jj 列的格子上写着整数 N×(i−1)+jN×(i-1)+j 。

接下来,将在T个回合中宣布不同的整数。 在第i回合,宣布 AiA_i ,并在写有 AiA_i 的格子上做标记。请找出首次达到宾果的回合数。但是,如果在 TT 个回合中没有达到宾果,则输出−1-1。

在这里,达到宾果意味着至少满足以下条件之一:

  • 存在一个格子的横行,其中包含的 NN 个格子上都有标记。
  • 存在一个格子的纵列,其中包含的 NN 个格子上都有标记。
  • 存在一个格子的对角线,其中包含的N个格子上都有标记。 约束条件:
  • 2≤N≤2×1032 ≤ N ≤ 2×10^3
  • 1≤T≤min(N2,2×105)1 ≤ T ≤ min(N^2, 2×10^5)
  • 1≤Ai≤N21 ≤ A_i ≤ N^2
  • 如果i≠j,那么Ai≠Aj如果 i≠j ,那么 A_i≠A_j

所有输入都是整数。 输入 输入以下列形式通过标准输入给出。

NN TT A1A_1 A2A_2 ... ATA_T

输出 如果在 TT 个回合中达到宾果,则输出首次达到宾果的回合数;如果没有,则输出 −1-1。

2024/5/26 10:53
加载中...