U192224 題解【移植】
返回題目;查看排行;迷惑行為;比賽鏈接;博客的更好看(?);云剪貼板的更好渲染(?);賽后總結(jié)帖
借樓宣傳新解密。
U192224 第五步(最后一步)——U192224 題解
解密題目:通過進(jìn)入U57189865001,解出這道黑題。
第一步
先看題面,進(jìn)入U57189865001,而鏈接指向的是一個分解質(zhì)因數(shù)網(wǎng)站。那么我們肯定理所當(dāng)然的把?5718986500157189865001?丟進(jìn)分解質(zhì)因數(shù)的程序內(nèi)。57189865001=208697\times27403357189865001=208697×274033。既然要進(jìn)入U57189865001,那么第一步應(yīng)該就是U208697和U274033了。通過這兩道題,就能知道第一和第二測試點(diǎn)的內(nèi)容。
源代碼 - C++
復(fù)制
if(n==1){ ? ?cout<<"U208697 in=1";
}if(n==2){ ? ?cout<<"in=02 U274033";
}
第三個測試點(diǎn)讓我們計算出 R17492424 的分?jǐn)?shù),然而傳送門中跳轉(zhuǎn)的是 R69969696。不難發(fā)現(xiàn)?17492424\times4=6996969617492424×4=69969696,所以猜測 R17492424 的分?jǐn)?shù)也是 R69969696 的四分之一。R69969696 的分值是?415396415396,那么 R17492424 的分值應(yīng)該是?415396\div4=103849415396÷4=103849。
第四個測試點(diǎn)需要了解此質(zhì)因數(shù)分解工具。經(jīng)過嘗試可以發(fā)現(xiàn)網(wǎng)站中的表格和第四測試點(diǎn)的表格第一行完全一樣。Factor
:質(zhì)因數(shù)。Power
:原數(shù)分解質(zhì)因數(shù)后此質(zhì)數(shù)的次數(shù)。Length
:此質(zhì)數(shù)的位數(shù)。根據(jù)這個破解表格,題號應(yīng)該是?2^4\times43\times283=19470424×43×283=194704??碪194704的說明/提示,AC 代碼輸出為?00。
源代碼 - C++
復(fù)制
if(n==3){ ? ?cout<<"103849";
}if(n==4){ ? ?cout<<"0";
}
在U208697里面Ctrl+A(當(dāng)然如果你用了一些背景的話可以直接看到),發(fā)現(xiàn)第一行寫著“看到這可在另一邊找第二步:#5\	會再輸入一可見字符串,直接輸出得分”,那么:
源代碼 - C++
復(fù)制
if(n==5){ ? ?string s;cin>>s; ? ?cout<<s;
}if(n==9){ ? ?string s;cin>>s; ? ?cout<<s;
}
第二步
從上面我們可以得出第二步不在U208697找,應(yīng)該在U274033找。向下翻可以找到第二步提示。根據(jù)提示,我們應(yīng)該 F12 找頁面上的所有?44(或者復(fù)制源碼后 Ctrl+F 找?44),可以發(fā)現(xiàn)在“當(dāng)輸入為?44?時”的?44?后面有一句話:
恭喜你找到第二步解密的傳送門!什么?少幾個測試點(diǎn)嗎?可以先試試提交已知的測試點(diǎn)數(shù)據(jù),全部解密完成后再把細(xì)節(jié)上沒找到的測試點(diǎn)數(shù)據(jù)找回來。第二步從U轉(zhuǎn)入T,題號為T306955。
進(jìn)入該題,就能知道第?77?測試點(diǎn)輸出什么了。
源代碼 - C++
復(fù)制
if(n==7){ ? ?cout<<"T306955";
}
第?88?個測試點(diǎn)的輸出是: P1713942118457604494664148656735633546331485287544841923437 中符合難度的題目的所有樣例輸出之和。根據(jù)提示,知道應(yīng)該將這個超大的數(shù)字再次丟進(jìn)分解質(zhì)因數(shù)計算器內(nèi),得出?1713942118457604494664148656735633546331485287544841923437=1069\times1117\times1721\times2273\times2381\times3049\times3533\times4349\times4931\times5051\times5987\times6263\times6529\times7079\times8677\times87831713942118457604494664148656735633546331485287544841923437=1069×1117×1721×2273×2381×3049×3533×4349×4931×5051×5987×6263×6529×7079×8677×8783。按照慣例,在前面分別加上 P,然后再一個一個看是不是綠題,就可以算出來答案。經(jīng)檢驗(yàn),P1069和P3049都是綠題,答案就是?-1+2+210=211?1+2+210=211。
源代碼 - C++
復(fù)制
if(n==8){ ? ?cout<<"211";
}
第三步
怎么解到這里就沒有頭緒了?啥都沒有給啊。無聊隨便看看,比如這個整活賽團(tuán)隊是咋樣的?
這里沒有任何信息。
?我看看這團(tuán)出的題有啥。一堆第二步……還有一個第三步,誒,第三步?!這不就到了嗎?
源代碼 - C++
復(fù)制
if(n==6){ ? ?cout<<"U260054";
}
最下面說明提示先記著:39
,然后康康U260054又有啥。什么從左到右啊???看不懂,先不看。先把最下面的記了:39 1t
。這題測試點(diǎn)保證正確輸出是第?1414?測試點(diǎn)的輸出?那……是不是可以按照你谷特有の錯誤提示來湊答案?
源代碼 - C++
復(fù)制
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
這樣就成功湊出了答案。
源代碼 - C++
復(fù)制
if(n==14){ ? ?cout<<"83B44A59610C45F57CDA4E6736A10D7F";
}
第四步和第?10-1310?13?測試點(diǎn)
嗯?83B44A59610C45F57CDA4E6736A10D7F
?好眼熟……有?3232?位……的?1616?進(jìn)制碼?誒這不 MD5 嗎?趕緊解一下是啥。
源代碼
復(fù)制
md5 解密:U274084
果然是 MD5!進(jìn)去看看。這樣就得到了第?1515?測試點(diǎn)的答案。
源代碼 - C++
復(fù)制
if(n==15){ ? ?cout<<"%%%\n%%%\n%%%\n%%%\n%%%\n%%%\n%%%\n%%%\n%%%\n%%%\n%%%\n%%%\n%%%\n%%%\n%%%\n";
}
從提示,還可以直接看出,第?1010?到?1313?測試點(diǎn)的輸出,就是從左到右對應(yīng)的題目右邊的時空限制數(shù)字。
源代碼 - C++
復(fù)制
if(n==10){ ? ?cout<<"20";
}if(n==11){ ? ?cout<<"58";
}if(n==12){ ? ?cout<<"14";
}if(n==13){ ? ?cout<<"41";
}
先把說明提示的字符串記下:39 1t 6o
,然后進(jìn)入題目要求進(jìn)入的www.bilibili.com/read/cv20581441。接著拿到第?1616?點(diǎn)的分?jǐn)?shù)。勝利就在咫尺!
康康這個專欄的標(biāo)題,好像不是剛剛的U274084啊。U274102?這不就能知道第?1717?點(diǎn)的輸出了嗎?
源代碼 - C++
復(fù)制
if(n==16){ ? ?cout<<"14418502vc";
}if(n==17){ ? ?cout<<"17 274102";
}
在專欄中提到,進(jìn)入云剪貼板就能找到第?1818?點(diǎn)的輸出。云剪貼板正常應(yīng)該是?88?位字符。前面在說明提示找到了?39 1t 6o
,U274102底下又有一個?00
,拼起來應(yīng)該就是云剪貼板鏈接了吧。這樣第?1818?測試點(diǎn)的答案就出來了……嗎?先看看其他的測試點(diǎn)。
先看第?1919?測試點(diǎn),很明顯要跟P1000的超級瑪麗作比較,輸出問號覆蓋住的字符。這個要是你錯了,那先去看看眼睛。當(dāng)然也能編程求解這題。
源代碼 - C++
復(fù)制
if(n==19){ ? ?cout<<"* # ?...#.#.****# ###--###.....#......##.....#......##.....#......# #-##";
}
第五步和第?1818?測試點(diǎn)
再看看第?2020?測試點(diǎn)。由“永遠(yuǎn)相信白字”和經(jīng)驗(yàn),可以 Ctrl+A,發(fā)現(xiàn)白字說第?2020?測試點(diǎn)的輸入是?2121,那么再通過輸入輸出樣例得知該測試點(diǎn)輸出應(yīng)為?U57189865001 in=-1
。
源代碼 - C++
復(fù)制
if(n==21){ ? ?cout<<"U57189865001 in=-1";
}
現(xiàn)在,除了第?1818?測試點(diǎn)以外的其它測試點(diǎn)我們都通過了。最后來看第?1818?測試點(diǎn)。
了解這個網(wǎng)絡(luò)迷蹤的規(guī)則之后,點(diǎn)進(jìn)視頻的網(wǎng)頁鏈接,發(fā)現(xiàn)這是轉(zhuǎn)載的。再點(diǎn)進(jìn)簡介里面標(biāo)明的原視頻,評論區(qū)有一個評論:
up這是哪里?有點(diǎn)像深圳,看這個路燈
up本人回復(fù):
《有點(diǎn)像》
這說明什么?這說明拍攝地點(diǎn)就在深圳。那搜索范圍就減小許多了。
那么視頻開頭就有一個路牌,通過這個路牌,可以大大縮小搜索范圍。
源代碼
復(fù)制
??路(眼力極好的可以看出是僑香路)
歡樂谷 ? ? →
????(眼力好的可以看出是波托菲諾)
高爾夫練習(xí)場
-------------------
深南大道
生態(tài)廣場 ? ?←
cff:鎖定這幾個點(diǎn),位置就基本可以在華僑城/歡樂谷一塊找了。
但可能有某些人的眼睛剛好不好,沒看出來波托費(fèi)諾,不然就很快出答案了(
所以,我們還需要搞別的信息。
cff:再分析一下視頻,視頻車輛在一個三岔路口向左前方轉(zhuǎn),接著沒多久沿著一條向左拐兩次再向右拐一次,且每次轉(zhuǎn)彎幅度都差不多是?135\degree135°?的雙行道路上行駛。畫出圖片就是這樣:

箭頭是前進(jìn)方向,三個圓圈說明這里有一個前往歡樂谷內(nèi)部的一條道路,路口三個石柱子。這個路線對著華僑城的內(nèi)部搜一下就能得出答案,如下圖(注:從這里開始往后數(shù)的第一個圖)。通過街景也能看出完全一致。
George:大哥你真牛逼,能看出來?135\degree135°,來說說正常人的解法。
看到了深南大道,可以在地圖上搜索。我們可以發(fā)現(xiàn)深南大道旁邊只有世界之窗一個大建筑物,所以我們交上世界之窗,WA。
但好巧不巧,我們在附近能找到一個地方叫做歡樂谷和旁邊的高爾夫球場,剛好和圖片匹配。
所以我們猜是附近的華僑城站或者白石洲站,WA。
我們往北翻翻,能發(fā)現(xiàn)波托菲諾純水岸這個地方,波托菲諾好像是視頻里的地方?
然后我們注意下,車車拐過三岔路口之后,鏡頭拍到路牌是**山**,所以直接在附近找這條路,(沒啥別的辦法),就找到了。

那么就能通過地圖找出距離這個路線起點(diǎn)最近的地鐵站是什么了。

答案:22?號線(和?88?號線)的僑城北站。
源代碼 - C++
復(fù)制
if(n==18){ ? ?cout<<"Qiaocheng North";
}
std
C++
?代碼:
源代碼 - C++
復(fù)制
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
?代碼:
源代碼 - Python
復(fù)制
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,發(fā)現(xiàn)“附加題:私信告訴我第5&9測試點(diǎn)的輸出即可加5分?!北娝苤?,這兩個測試點(diǎn)會輸入應(yīng)該輸出的東西(見第一步解法),應(yīng)該想辦法繞過 SPJ,讓錯誤信息能夠顯示,并且顯示的是輸入的字符串(的一部分)。那么這個 SPJ 讓 AC 和 WA 的測試點(diǎn)都已經(jīng)不能顯示具體信息了,那還剩什么評測狀態(tài)?對著這個R70000007看,可以發(fā)現(xiàn)只剩 RE 能顯示錯誤信息了。那么就好辦了。
源代碼 - C++
復(fù)制
if(n==5){ ? ?string s;cin>>s; ? ?return (int)(s[0]);
}//Runtime Error.Program exited with code 115.
因?yàn)?(ASCII115) 是?s
,所以第五個測試點(diǎn)的輸出第一個字符就是?s
,以此類推。
源代碼 - C++
復(fù)制
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.
同樣對第九個測試點(diǎn)也一樣操作,可以得出第五個測試點(diǎn)輸出是?sto_snhDL_orz
;第九個測試點(diǎn)輸出為?sto_cff_orz
。
賽后總結(jié)
link
正片結(jié)束
最后來個宣傳
凄慘七彩評測
關(guān)注獎勵將在一天內(nèi)給出。如果發(fā)現(xiàn)沒有可以私信說明。
回關(guān)號1
回關(guān)號2(小號比大號早注冊的屑)