Logo Fee_cle6418的博客

博客

InfOJ 愚人节比赛 2022 题解

2022-04-01 21:30:56 By Fee_cle6418

题解

A

输出 __float128inf 的二进制表示。

#include <stdio.h>
typedef __float128 db;
int main() {
    db x = ((db)1)/(db(0));
    char* p = (char*)(&x);
    for (int i = sizeof(db) - 1; i >= 0; --i) {
        for (int j = 7; j >= 0; --j) {
            printf("%c", '0' + ((p[i] >> j) & 1));
        }
    }
    return 0;
}

B

2/1/L1/1~7 表示 infoj 上题号为 2 的题的第一部分(1. 题目描述)Line 1(第一行)的第 1~7 个字。

以此类推即可推出题面,注意 0 是标题。

题意:给出 $n$ 个数,给下标是 $x$ 的倍数的数加 $y$,求他们的 gcd。

C

直接模拟题意,注意 long double。函数很快就会收敛,所以如果 $|f(x)-x|\le eps$ 就 break。

D

前三个 Subtask 运用人类智慧打败 NIT 即可。

最后一个 Subtask:注意到

若任何一方操作不合法,另一方获胜。

只需要在中间消耗 NIT 兵力,使得 NIT 进行镜像操作时不合法即可。

E

观察本场比赛题目名称的第一个字母,是 INFINITYOJ,所以只要 N 开头的名字都是好的。

F

输出 01 串第 $i$ 位为 1 代表 InfOJ 上题号为 $i$ 的题是公开的。

G

题面中有对于每次询问,输出 AliceBob

所以,对于每次询问,输出 AliceBob,即可通过。

H

第一组数据,因为样例是原题样例,猜想数据是原题数据。第一组数据是原题第三个测试点,复制过来即可。

因为下发文件给到了 Never Gonna Give You Up 上,怀疑本题下发文件有鬼,所以问题是怎么获取本题下发文件。

注意到 J 题有下发文件,把 J 题下发文件链接改一下即可。

第三组数据是原题 #89 的下发文件,做法同上。

I

题意是输出 a^{a^{a^{a...}}},坑点:因为要尽量简单,所以最中间嵌套的一层不能是 a^{a} 只能是 a^a

J

答案是 FDFGGGDFFG

评论

dottle
补充一下 G 的解密过程。在 dottle 的博客里面找到一串字符串,base64 解码 4 次以后得到 lsyakioi,将这个字符串使用题中给出的 base 和 mod 进行哈希,得到一个数作为题目给出程序的 seed,解密最后一段文字。解密的结果是: “If_you_see_the_these_words_but_havn't_solve_the_problem.You_are_doing_something_wrong.Stop_doing_useless_decoding,go_and_solve_some_problem.Read_the_description_AGAIN!” 它提示你再仔细读一下题目描述,因此照着题目描述输出即可。
MoRanSky
太棒了
Itst
都是非正经比赛了怎么还不让叉交互库啊(?)
wlzhouzhuan
该评论已被删除
Itst
该评论已被删除
Itst
该评论已被删除
12wasd3456zxc
该评论已被删除
c20231020
@a
c20231020
@a@b
c20231020
@a @b @c @d @e @f @g @h @i @j @K @l @M @n @o @p @q @r @s @t @u @v @w @x @y @z
c20231020
@a @b @c @d @e @f @g @h @i @j @K @l @M @n @o @p @q @r @s @t @u @v @w @x @y @z
Lucas_Long
@a @b @c @d @e @f @g @h @i @j @K @l @M @n @o @p @q @r @s @t @u @v @w @x @y @z
iakioi
@iakioi @IOIAKME
Emily250
@a @b @c @d @e @f @g @h @i @j @K @l @M @n @o @p @q @r @s @t @u @v @w @x @y @z
i
@a @b @c @d @e @f @g @h @i @j @K @l @M @n @o @p @q @r @s @t @u @v @w @x @y @z

发表评论

可以用@mike来提到mike这个用户,mike会被高亮显示。如果你真的想打“@”这个字符,请用“@@”。