結果

問題 No.3051 cracked
ユーザー cielciel
提出日時 2019-04-08 00:07:02
言語 C++17
(gcc 12.3.0 + boost 1.83.0)
結果
AC  
実行時間 391 ms / 1,024 ms
コード長 1,894 bytes
コンパイル時間 556 ms
コンパイル使用メモリ 59,488 KB
実行使用メモリ 24,444 KB
平均クエリ数 3.00
最終ジャッジ日時 2023-09-30 05:55:06
合計ジャッジ時間 11,660 ms
ジャッジサーバーID
(参考情報)
judge13 / judge15
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 387 ms
24,444 KB
testcase_01 AC 381 ms
23,568 KB
testcase_02 AC 383 ms
24,000 KB
testcase_03 AC 376 ms
24,000 KB
testcase_04 AC 381 ms
24,348 KB
testcase_05 AC 384 ms
23,640 KB
testcase_06 AC 380 ms
24,000 KB
testcase_07 AC 384 ms
23,352 KB
testcase_08 AC 385 ms
23,616 KB
testcase_09 AC 390 ms
24,216 KB
testcase_10 AC 389 ms
23,868 KB
testcase_11 AC 385 ms
23,364 KB
testcase_12 AC 385 ms
24,084 KB
testcase_13 AC 383 ms
23,616 KB
testcase_14 AC 390 ms
23,412 KB
testcase_15 AC 387 ms
23,448 KB
testcase_16 AC 388 ms
23,364 KB
testcase_17 AC 387 ms
23,412 KB
testcase_18 AC 383 ms
23,400 KB
testcase_19 AC 384 ms
24,336 KB
testcase_20 AC 386 ms
24,288 KB
testcase_21 AC 389 ms
23,676 KB
testcase_22 AC 391 ms
23,664 KB
testcase_23 AC 386 ms
23,364 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

#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]);
}
0