結果
問題 | No.8051 cracked |
ユーザー |
|
提出日時 | 2019-04-08 00:07:02 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 368 ms / 1,024 ms |
コード長 | 1,894 bytes |
コンパイル時間 | 559 ms |
コンパイル使用メモリ | 58,752 KB |
最終ジャッジ日時 | 2025-01-07 01:34:58 |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 24 |
ソースコード
#include <string>#include <cstdio>using namespace std;string dna_orig="BWZ49Y;|O1AUtz)a%pa7J_;jgZewh9WMv>cV{>$5X>UFXb#rNMXCQ82ZDn(CVPj<=b97`o3UhRFX>MmAWNu+!Z*pm8Jt8V1I|_4ja%pa7AXGgfFflSSG&MFiI5|N=LqtVJM@UIZOH55pPf$@(Q&d$}S6EqEVPa!sWoBn+X=-b1ZEkOHadLBXb#`}nd3qruBqb&&DJm;1J3Ku;KR{kzV0(Ohej+;xb98cPZf783VRL0THD6?9V{c?-C}VGKb95kcbaH8KXCNkXDSHYDX>N2NZapwN3JGa$bRcOxFgpqfb98cPZf78JI|>P5b#!kaW<6UbT_|a8bRcOdduDHPC~0nVAZk4@J8C>>J8CN{DSL7&Jt!z{K0Y`qC^Ic;DJdp0H8m+aeSJF$31)9{C_8C9b1rjfdSxgnJ83H`DSHYD32AP0Ab34gE@o+NWGHi6X<aEh3JD2rJ#H#EH7j^K3JD2mW+-VTH9b8vDP|}%DJ*V1FgpqfeF_O_B|SAe3JGR!awutTbRcRyX*+5>H9Kl6D=B+!J#H#EH7htYJADcXW+-VbF)2F=336q0b#iVXaytrr3TbY1AZ=l3ZYU{x3JG&`a%pa7AY^V~AUz;rVRL0THD6?9V{c?-C}eJ7UvF}0XDK@h32AP0AaHMUAUz;tZecEFX>MdFC}U`0aw#-2DLV=YWNu*~Js@OmVJ>rZVsmtIC@?H=Z*wUtWNu+!Z*pm8D`akAE^~Eab98bjaBp)fF)2F=3JEVSAY^rAAarjad39@PV{c?-av*GJZE192bZKvHEFf}aVPt7;XCQZIZ){~Cb98cPZf78Ab0BVSbRc1HaBOK~VPb4$E(!^AbaH8KXCQcTVR<_W31)9{C~0nVAY&|PJuo|IJY;TRE^}#mWhf~-X)7x!dkP5&V?AeObYo~?awsV~3JD2#a$$KZJ!3lx34IC)W^ZyRX>N2NX+1DIX*^_ZVJ>rNdSxgnJ83H`DQRXXWNu+wX<Z>bcyeKRTWMV>aB^vGbY>_bC1hM~Tp}f7Tq0a<Tp}f7Tq0a<A}nbvWNu+wX<aOMa$$K}X<aEh3Vi";string T="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!#$%&()*+-;<=>?@^_`{|}~";string base85_decode(const string &s){int n=0;int i=0;string r;auto f=[&](int i){for(int j=0;j<i;j++){r+=((n>>8*(3-j))&255);}};for(;i<s.size();i++){int x=T.find(s[i]);n=n*85+x;if(i%5==4)f(4),n=0;}i%=5;for(int j=i;j<5;j++){n=n*85+84;}f(i-1);return r;}int main(){string dna = base85_decode(dna_orig);int pos = dna.find((char)42);dna = dna.substr(0,pos)+dna_orig+dna.substr(pos+1);// due to yukicoder limitation, reading whole string is not applicable.string xray;for(int c,i=0;i<dna.size();i++){c=getchar();xray+=c;}for(int i=0;i<dna.size();i++)if(dna[i]!=xray[i])printf("%d\n\"%c\"\n\"%c\"\n",i,dna[i],xray[i]);}