[R29D]平滑数 - 代码源竞赛平台

时空限制

1S/512M

题目描述

在数字的世界里,有一些数因其独特的结构而被称为“平滑数”。一个 nn 位非负整数 XX 被称为平滑数,当且仅当其任意两个相邻数位的数字之差的绝对值不大于 11。

例如,1232112321 是一个平滑数,因为 ∣1−2∣=1,∣2−3∣=1,∣3−2∣=1,∣2−1∣=1|1-2|=1, |2-3|=1, |3-2|=1, |2-1|=1。而 132132 不是平滑数,因为 ∣1−3∣=2>1|1-3|=2 > 1。

给定 mm 个限制,每个限制形如 (ai,bi)(a_i, b_i),要求该 nn 位数的第 aia_i 位(从左数第 11 位为最高位)必须是数字 bib_i。

请找出满足所有限制条件且最小的 nn 位平滑数。

注意:若 n>1n > 1,则 nn 位数的最高位不能为 00。

格式

输入格式

第一行包含两个整数 n,mn, m,分别表示数字的长度和限制的数量。

接下来 mm 行,每行包含两个整数 ai,bia_i, b_i,表示一个限制条件,即第 aia_i 位的数字必须是 bib_i。

输出格式

输出一行。如果存在满足条件的数,输出最小的一个。如果不存在,输出 -1。

样例

样例输入 #1

5 2
2 4
5 2

样例输出 #1

34322

样例输入 #2

5 2
2 1
5 5

样例输出 #2

-1

数据规模

对于 20%20\% 的数据,1≤n≤61 \leq n \leq 6。

对于 40%40\% 的数据,1≤n≤20001 \leq n \leq 2000。

对于 100%100\% 的数据,1≤n≤2×1051 \leq n \leq 2 \times 10^5,1≤m≤n1 \leq m \leq n,1≤ai≤n1 \leq a_i \leq n,0≤bi≤90 \leq b_i \leq 9,且给出的所有 aia_i 互不相同。