QOJ.ac

QOJ

Limite de temps : 1.0 s Limite de mémoire : 256 MB Points totaux : 100 Difficulté: [afficher] Hackable ✓

#12218. 霍尔定理

Statistiques

考虑一个二分图,其顶点分为左侧和右侧两部分,且边仅存在于不同部分的顶点之间。设 $A$ 为左侧顶点的一个子集。我们定义 $N(A)$ 为右侧顶点中至少与 $A$ 中一个顶点相邻的顶点集合。

如果左侧顶点的子集 $A$ 满足 $|N(A)| < |A|$,则称其为关键(critical)子集。

你的任务是找出一个二分图,使其左侧有 $n$ 个顶点,右侧有 $n$ 个顶点,且恰好有 $k$ 个关键子集。

输入格式

第一行包含两个整数 $n$ 和 $k$:二分图每一侧的顶点数以及要求的关键子集数量($1 \le n \le 20$,$0 \le k < 2^n$)。

输出格式

第一行输出一个整数 $m$:二分图中边的数量。

接下来的 $m$ 行描述图中的边。每一行包含两个整数 $a_i$ 和 $b_i$,描述一条从 $a_i$ 到 $b_i$ 的边($1 \le a_i, b_i \le n$)。

该图不得包含重边。此外,它必须恰好包含 $k$ 个关键子集。

如果存在多种可能的解,输出其中任意一个即可。保证在给定的输入限制下解总是存在的。

样例

输入 1

3 5

输出 1

2
1 1
2 1

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#353EditorialOpen题解jiangly2025-12-14 07:15:30View

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.