题目描述
译自 COI 2021 T4「MalnaRISC」
您需要使用 MalnaRISC 这一神奇的处理器来解决知名问题——排序!
MalnaRISC 仅支持一种命令 CMPSWP
Ri Rj,其含义为,比较 Ri 与 Rj 的大小,若 Ri>Rj,交换他们。
MalnaRISC 最厉害的是,他可以同时运行多个不同的写在一行的程序,只要他们互不冲突,也就是说,CMPSWP
所接参数必须仅在同一行使用一次。
现在,请写一个处理长度为 N 的序列的排序问题(按单调不降的顺序)的 MalnaRISC 程序,我们将根据您的程序长度进行评分。
输入格式
仅一行一个整数 N。
输出格式
第一行为一个整数 t,表示您的代码长度。
接下来 t 行,每行表示您的一行代码。
提示
Subtask |
N |
t1 |
t2 |
t3 |
分数 |
1 |
8 |
28 |
12 |
6 |
10 |
2 |
13 |
78 |
22 |
10 |
10 |
3 |
16 |
120 |
28 |
10 |
4 |
32 |
496 |
60 |
15 |
10 |
5 |
53 |
1378 |
102 |
21 |
10 |
6 |
64 |
2016 |
124 |
10 |
7 |
73 |
2628 |
142 |
28 |
10 |
8 |
82 |
3321 |
160 |
10 |
9 |
91 |
4095 |
178 |
29 |
10 |
10 |
100 |
4950 |
196 |
30 |
10 |
如果您的正确代码是 t 行,那么您将获得这个分数四舍五入后的结果:
score(t)=⎩⎨⎧01+t−t223+t2−t37(t2−t+1)10t>t1t1≥t>t2t2≥t>t3t3≥t