[AGM 2022 资格赛] 拼图

Luogu
IDLGP8234
Time1000ms
Memory128MB
DifficultyP6
2022Special JudgeO2优化AGM
你有一张形状为正 $n$ 边形的柱形拼图,它由一个中间块,$n$ 个边缘块和 $n$ 个角块拼成,正 $n$ 边形的每条边上有两个角块和一个边缘块。(如下图即为 $n=5$ 时拼图的俯视图,蓝色为角块,红色为边缘块,灰色为中间块) ![](https://cdn.luogu.com.cn/upload/image_hosting/k83mqxkd.png) 每个边缘块有顶部底部和向外裸露的面总共三个面上是有颜色的,每个面上的颜色不一定相同。而每个角块上向外裸露的面有两个,所以总共四个面上是有颜色的,每个面上的颜色也不一定相同。而中间块只有顶部和底部是有颜色的。 我们将角块与边缘块逆时针标号,正 $n$ 边形的第 $i(i<n)$ 条边的侧面由第 $i$ 块角块的逆时针方向侧面,第 $i$ 块边缘块与第 $i+1$ 块的角块的顺时针方向侧面组成。特别地,第 $n$ 条边的侧面由第 $n$ 块角块的逆时针方向侧面,第 $n$ 块边缘块与第 $1$ 块的角块的顺时针方向侧面组成。 接着,你可以执行如下的操作:选择拼图的一条边并将两边的角块交换后上下反转(注意此时两个侧面会互换)并且边上的边缘块也上下反转。 我们称一个平面是整齐的当且仅当平面上颜色均相同,现在你要通过若干次操作,来使得这个拼图上的每个面都是整齐的。 ## Input 第一行一个正整数 $n$。 接下来两个正整数 $col_{tp},col_{bt}$ 分别表示中间块顶部的颜色和底部的颜色。 接下来 $n$ 行,每行四个整数 $ct_i,cl_i,cr_i,cb_i$ 分别表示第 $i$ 个角块的顶部颜色,逆时针方向侧面颜色,顺时针方向侧面颜色以及底部颜色。 接下来 $n$ 行,每行三个整数 $et_i,es_i,eb_i$ 分别表示第 $i$ 个边缘块的顶部颜色,侧面颜色以及底部颜色。 ## Output 如果无解,输出 $-1$。 否则先输出一行一个整数表示操作次数 $m$,接下来一行 $m$ 个整数表示第 $i$ 操作的边编号。 你需要保证操作次数不超过 $100000$,多解输出任意一种即可。 [samples] ## Note #### 样例解释 如下图 ![](https://cdn.luogu.com.cn/upload/image_hosting/958k6wj3.png) #### 数据规模与约定 对于 $100\%$ 的数据,保证 $4\leq n \leq 100$,$0\leq ct_i,cl_i,cr_i,cb_i\leq n+1$,$\{es_1,es_2,...,es_n,col_{tp},col_{bt}\}$ 构成一个 $0\sim n+1$ 的排列。 #### 说明 翻译自 [AGM 2022 Qualification Round F Kube](https://judge.agm-contest.com/public/problems/20/text)。
Samples
Input #1
4
0
5
5 4 3 0
0 1 2 5
0 2 3 5
5 1 4 0
0 1 5
0 2 5
5 3 0
0 4 5
Output #1
5
1 2 3 2 1
API Response (JSON)
{
  "problem": {
    "name": "[AGM 2022 资格赛] 拼图",
    "description": {
      "content": "你有一张形状为正 $n$ 边形的柱形拼图,它由一个中间块,$n$ 个边缘块和 $n$ 个角块拼成,正 $n$ 边形的每条边上有两个角块和一个边缘块。(如下图即为 $n=5$ 时拼图的俯视图,蓝色为角块,红色为边缘块,灰色为中间块) ![](https://cdn.luogu.com.cn/upload/image_hosting/k83mqxkd.png) 每个边缘块有顶部底部和向外裸露的面总",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 131072
    },
    "difficulty": {
      "LuoguStyle": "P6"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGP8234"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "你有一张形状为正 $n$ 边形的柱形拼图,它由一个中间块,$n$ 个边缘块和 $n$ 个角块拼成,正 $n$ 边形的每条边上有两个角块和一个边缘块。(如下图即为 $n=5$ 时拼图的俯视图,蓝色为角块,红色为边缘块,灰色为中间块)\n\n![](https://cdn.luogu.com.cn/upload/image_hosting/k83mqxkd.png)\n\n每个边缘块有顶部底部和向外裸露的面总...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments