问题3141--1-7 CTF

3141: 1-7 CTF

时间限制: 1 Sec  内存限制: 256 MB
提交: 41  解决: 22
[状态] [讨论版] [提交] [命题人:]
题目描述

夺旗(英语:Capture the flag,简称 CTF)在计算机安全中是一种活动,当中会将“旗子”秘密地埋藏于有目的的易受攻击的程序或网站。参赛者从其他参赛者或主办方偷去旗子。

非常崇拜探姬的小学妹最近迷上了 CTF,学长给了她一个压缩包,让她找到其中的 flag 并提交。

她今天终于破解了压缩包的密码,但解压后她却发现,里面竟然有足足 100 个 txt 文件!她使用 Ctrl+F 大法搜索过后,发现了这些 txt 文件里面有着相同的规律:

每个 txt 文件中都藏着一个 flag,这些 flag 都有固定的格式,即 "flag + 一个两位十进制数 + 真正的 flag 内容",其中这个两位十进制数代表 "真正的 flag 内容" 的长度。

例如,在 "flag03ctf" 中,"flag" 后的两位十进制数 "03" 表示 "真正的 flag 内容" 的长度为 3 个字符,此时 "真正的 flag 内容" 就是 "ctf",所以你需要提交 "flag{ctf}"。

小学妹苦于自己能力不足,于是她拜托你帮她找出文件中的 flag,你能邦邦她吗?

输入

先输入一行一个正整数 n (1 ≤ n ≤ 105),表示接下来字符串的长度。

然后输入一个长度为 n 的字符串 s,表示某个 txt 文件中的文本内容。

不保证给定的字符串 s 中只包含一个 "flag" 串,但你只需要输出你找到的第一个 flag 即可。

保证字符串 s 中不含空格,且第一个 flag 一定合法。

输出
输出一行一个字符串 t,表示破译出来的 flag,格式为 "flag{真正的 flag 内容}"(如样例所示)
样例输入 Copy
9
flag03ctf
样例输出 Copy
flag{ctf}
提示

样例输入 2:

25
tjjjctfctflag05hellozzuli

样例输出 2:

flag{hello}