U192224 第五步(最后一步)——U192224 题解
返回题目;查看排行;迷惑行为;比赛链接;博客的更好看(?);云剪贴板的更好渲染(?);赛后总结帖
借楼宣传新解密。
U192224 第五步(最后一步)——U192224 题解
解密题目:通过进入U57189865001,解出这道黑题。不要相信红字。\color{white}\text{永远相信白字。}
第一步
先看题面,进入U57189865001,而链接指向的是一个分解质因数网站。那么我们肯定理所当然的把
if(n==1){
cout<<"U208697 in=1";
}if(n==2){
cout<<"in=02 U274033";
}
第三个测试点让我们计算出 R17492424 的分数,然而传送门中跳转的是 R69969696。不难发现
第四个测试点需要了解此质因数分解工具。经过尝试可以发现网站中的表格和第四测试点的表格第一行完全一样。Factor:质因数。Power:原数分解质因数后此质数的次数。Length:此质数的位数。根据这个破解表格,题号应该是
if(n==3){
cout<<"103849";
}if(n==4){
cout<<"0";
}
在U208697里面Ctrl+A(当然如果你用了一些背景的话可以直接看到),发现第一行写着“看到这可在另一边找第二步:#5\	会再输入一可见字符串,直接输出得分”,那么:
if(n==5){
string s;cin>>s;
cout<<s;
}if(n==9){
string s;cin>>s;
cout<<s;
}
第二步
从上面我们可以得出第二步不在U208697找,应该在U274033找。向下翻可以找到第二步提示。根据提示,我们应该 F12 找页面上的所有
恭喜你找到第二步解密的传送门!什么?少几个测试点吗?可以先试试提交已知的测试点数据,全部解密完成后再把细节上没找到的测试点数据找回来。第二步从U转入T,题号为T306955。
进入该题,就能知道第
if(n==7){
cout<<"T306955";
}
第
if(n==8){
cout<<"211";
}
第三步
怎么解到这里就没有头绪了?啥都没有给啊。无聊随便看看,比如这个整活赛团队是咋样的?
这里没有任何信息。
?我看看这团出的题有啥。一堆第二步……还有一个第三步,诶,第三步?!这不就到了吗?
if(n==6){
cout<<"U260054";
}
最下面说明提示先记着:39,然后康康U260054又有啥。什么从左到右啊啊?看不懂,先不看。先把最下面的记了:39 1t。这题测试点保证正确输出是第
cout<<"1111111111111111111111111111111111111";
//Wrong Answer.wrong answer On line 1 column 1, read 1, expected 8.
cout<<"8111111111111111111111111111111111111";
//Wrong Answer.wrong answer On line 1 column 2, read 1, expected 3.
cout<<"8311111111111111111111111111111111111";
//...
cout<<"83B44A59610C45F57CDA4E6736A10D7F11111";
//Wrong Answer.wrong answer Too long on line 1.
cout<<"83B44A59610C45F57CDA4E6736A10D7F";
//Accepted, 得分 50.ok accepted
这样就成功凑出了答案。
if(n==14){
cout<<"83B44A59610C45F57CDA4E6736A10D7F";
}
第四步和第 10-13 测试点
嗯?83B44A59610C45F57CDA4E6736A10D7F?好眼熟……有
md5 解密:U274084
果然是 MD5!进去看看。这样就得到了第
if(n==15){
cout<<"%%%\n%%%\n%%%\n%%%\n%%%\n%%%\n%%%\n%%%\n%%%\n%%%\n%%%\n%%%\n%%%\n%%%\n%%%\n";
}
从提示,还可以直接看出,第
if(n==10){
cout<<"20";
}if(n==11){
cout<<"58";
}if(n==12){
cout<<"14";
}if(n==13){
cout<<"41";
}
先把说明提示的字符串记下:39 1t 6o,然后进入题目要求进入的www.bilibili.com/read/cv20581441。接着拿到第 胜利就在咫尺!
康康这个专栏的标题,好像不是刚刚的U274084啊。U274102?这不就能知道第
if(n==16){
cout<<"14418502vc";
}if(n==17){
cout<<"17 274102";
}
在专栏中提到,进入云剪贴板就能找到第 39 1t 6o,U274102底下又有一个 00,拼起来应该就是云剪贴板链接了吧。这样第
先看第
if(n==19){
cout<<"* # ...#.#.****# ###--###.....#......##.....#......##.....#......# #-##";
}
第五步和第 18 测试点
再看看第 U57189865001 in=-1。
if(n==21){
cout<<"U57189865001 in=-1";
}
现在,除了第
了解这个网络迷踪的规则之后,点进视频的网页链接,发现这是转载的。再点进简介里面标明的原视频,评论区有一个评论:
up这是哪里?有点像深圳,看这个路灯
up本人回复:
《有点像》
这说明什么?这说明拍摄地点就在深圳。那搜索范围就减小许多了。
那么视频开头就有一个路牌,通过这个路牌,可以大大缩小搜索范围。
??路(眼力极好的可以看出是侨香路)
欢乐谷 →
????(眼力好的可以看出是波托菲诺)
高尔夫练习场
-------------------
深南大道
生态广场 ←
cff:锁定这几个点,位置就基本可以在华侨城/欢乐谷一块找了。
乔治酱:但可能有某些人的眼睛刚好不好,没看出来波托费诺,不然就很快出答案了(
乔治酱:所以,我们还需要搞别的信息。
cff:再分析一下视频,视频车辆在一个三岔路口向左前方转,接着没多久沿着一条向左拐两次再向右拐一次,且每次转弯幅度都差不多是
cff:箭头是前进方向,三个圆圈说明这里有一个前往欢乐谷内部的一条道路,路口三个石柱子。这个路线对着华侨城的内部搜一下就能得出答案,如下图(注:从这里开始往后数的第一个图)。通过街景也能看出完全一致。
乔治酱:大哥你真牛逼,能看出来
乔治酱:看到了深南大道,可以在地图上搜索。我们可以发现深南大道旁边只有世界之窗一个大建筑物,所以我们交上世界之窗,WA。
乔治酱:但好巧不巧,我们在附近能找到一个地方叫做欢乐谷和旁边的高尔夫球场,刚好和图片匹配。
乔治酱:所以我们猜是附近的华侨城站或者白石洲站,WA。
乔治酱:我们往北翻翻,能发现波托菲诺纯水岸这个地方,波托菲诺好像是视频里的地方?
乔治酱:然后我们注意下,车车拐过三岔路口之后,镜头拍到路牌是**山**,所以直接在附近找这条路,(没啥别的办法),就找到了。
那么就能通过地图找出距离这个路线起点最近的地铁站是什么了。
答案:
if(n==18){
cout<<"Qiaocheng North";
}
std
C++ 代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(false);
int n;cin>>n;
if(n==1){
cout<<"U208697 in=1";
}if(n==2){
cout<<"in=02 U274033";
}if(n==3){
cout<<"103849";
}if(n==4){
cout<<"0";
}if(n==5){
string s;cin>>s;
cout<<s;
}if(n==6){
cout<<"U260054";
}if(n==7){
cout<<"T306955";
}if(n==8){
cout<<"211";
}if(n==9){
string s;cin>>s;
cout<<s;
}if(n==10){
cout<<"20";
}if(n==11){
cout<<"58";
}if(n==12){
cout<<"14";
}if(n==13){
cout<<"41";
}if(n==14){
cout<<"83B44A59610C45F57CDA4E6736A10D7F";
}if(n==15){
cout<<"%%%\n%%%\n%%%\n%%%\n%%%\n%%%\n%%%\n%%%\n%%%\n%%%\n%%%\n%%%\n%%%\n%%%\n%%%\n";
}if(n==16){
cout<<"14418502vc";
}if(n==17){
cout<<"17 274102";
}if(n==18){
cout<<"Qiaocheng North";
}if(n==19){
cout<<"* # ...#.#.****# ###--###.....#......##.....#......##.....#......# #-##";
}if(n==21){
cout<<"U57189865001 in=-1";
}return 0;
}
Python 代码:
a=int(input())
if a==1:
print("U208697 in=1")
if a==2:
print("in=02 U274033")
if a==3:
print("103849")
if a==4:
print("0")
if a==5:
print(input())
if a==6:
print("U260054")
if a==7:
print("T306955")
if a==8:
print("211")
if a==9:
print(input())
if a==10:
print("20")
if a==11:
print("58")
if a==12:
print("14")
if a==13:
print("41")
if a==14:
print("83B44A59610C45F57CDA4E6736A10D7F")
if a==15:
print("""%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%""")
if a==16:
print("14418502vc")
if a==17:
print("17 274102")
if a==18:
print("Qiaocheng North")
if a==19:
print("* # ...#.#.****# ###--###.....#......##.....#......##.....#......# #-##")
if a==21:
print("U57189865001 in=-1")
附加题
在U208697里面Ctrl+A,发现“附加题:私信告诉我第5&9测试点的输出即可加5分。”众所周知,这两个测试点会输入应该输出的东西(见第一步解法),应该想办法绕过 SPJ,让错误信息能够显示,并且显示的是输入的字符串(的一部分)。那么这个 SPJ 让 AC 和 WA 的测试点都已经不能显示具体信息了,那还剩什么评测状态?对着这个R70000007看,可以发现只剩 RE 能显示错误信息了。那么就好办了。
if(n==5){
string s;cin>>s;
return (int)(s[0]);
}
//Runtime Error.Program exited with code 115.
因为 (ASCII115) 是 s,所以第五个测试点的输出第一个字符就是 s,以此类推。
return s.size();
//Runtime Error.Program exited with code 13.
return (int)(s[1]);
//Runtime Error.Program exited with code 116.
...
return (int)(s[12]);
//Runtime Error.Program exited with code 122.
同样对第九个测试点也一样操作,可以得出第五个测试点输出是 sto_snhDL_orz;第九个测试点输出为 sto_cff_orz。
赛后总结
link
正片结束
最后来个宣传
凄惨七彩评测
关注奖励将在一天内给出。如果发现没有可以私信说明。
回关号1
回关号2(小号比大号早注册的屑)