QOJ.ac

QOJ

Límite de tiempo: 1 s Límite de memoria: 512 MB Puntuación total: 100 Hackeable ✓

#13005. 无聊的 Dreamoon

Estadísticas

Dreamoon 今年在军队服役。军队里的生活非常枯燥。为了让军旅生活更有趣,Dreamoon 决定将他的一些军旅经历转化为编程竞赛题目。

长官通常要求士兵们按身高排成若干排。士兵的排列规则如下:

  • 如果两名士兵 $A$ 和 $B$ 站在不同的排,且 $A$ 所在的排在 $B$ 所在的排前面,则 $A$ 比 $B$ 矮。
  • 如果两名士兵 $A$ 和 $B$ 站在同一排,且 $A$ 在 $B$ 的右侧,则 $A$ 比 $B$ 矮。
  • 对于任意两排,它们的人数之差最多为 1。
  • 对于任意两排,前排的人数大于或等于后排的人数。

在注意到这些性质后,Dreamoon 产生了一个想法:

对于两名不同的士兵 $A$ 和 $B$,如果 $A$ 所在的排不在 $B$ 所在的排前面,且 $B$ 所在排中 $B$ 右侧的士兵人数不大于 $A$ 所在排中 $A$ 右侧的士兵人数,我们就称 $B$ 在 $A$ 的“右前方”。

你不知道总共有多少名士兵,也不知道这些士兵被排成了多少排。但你掌握了 $N$ 名士兵的信息,编号从 $1$ 到 $N$。已知这些士兵的身高。对于任意两个不同的编号 $i$ 和 $j$,你知道士兵 $j$ 是否在士兵 $i$ 的“右前方”。请检查是否存在至少一种满足给定信息的排列方案。如果存在,请计算第一排(在所有其他排前面的那一排)中最少可能有多少名士兵。

输入格式

第一行包含一个整数 $N$,表示你有 $N$ 名士兵的信息。 第二行包含 $N$ 个整数 $h_1, h_2, \dots, h_N$。其中 $h_i$ 表示第 $i$ 名士兵的身高。 接下来的 $N$ 行,每行包含 $N$ 个字符。第 $i$ 行的第 $j$ 个字符如果为 ‘1’,则表示士兵 $j$ 在士兵 $i$ 的“右前方”;否则为 ‘0’。

  • $2 \le N \le 10^3$
  • $1 \le h_i \le 10^9$
  • 所有 $h_i$ 互不相同
  • $s_{ij} = \text{‘0’ 或 ‘1’}$
  • $s_{ii} = \text{‘0’}$,对于所有 $i \in \{1, 2, \dots, N\}$

输出格式

输出一个数字,表示第一排(在所有其他排前面的那一排)中最少可能有多少名士兵。如果不存在满足给定信息的排列方案,则输出 $-1$。

样例

样例输入 1

3
1 2 3
000
000
000

样例输出 1

3

样例输入 2

3
1 2 3
000
100
110

样例输出 2

1

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.