結果
| 問題 |
No.8051 cracked
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2019-04-07 21:44:15 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 1,923 bytes |
| コンパイル時間 | 754 ms |
| コンパイル使用メモリ | 71,396 KB |
| 最終ジャッジ日時 | 2025-01-07 01:31:19 |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | TLE * 24 |
ソースコード
#include <iostream>
#include <string>
#include <iterator>
using namespace std;
string table="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
string base64_decode(const string &in){
string ret="";
int b=0,I=0,idx;
int x=0;
for(;I<in.size();I++){
if(in[I]=='=')break;
idx=table.find(in[I]);
if(idx>=0){
x=(x<<6)+idx;
b+=6;
if(b>=8){b-=8;ret+=(char)((x>>b)&0xff);}
}
}
while(b>=8){b-=8;ret+=(char)((x>>b)&0xff);}
return ret;
}
int main(){
string dna_orig="I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8aXRlcmF0b3I+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnN0cmluZyB0YWJsZT0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyI7CnN0cmluZyBiYXNlNjRfZGVjb2RlKGNvbnN0IHN0cmluZyAmaW4pewoJc3RyaW5nIHJldD0iIjsKCWludCBiPTAsST0wLGlkeDsKCWludCB4PTA7Cglmb3IoO0k8aW4uc2l6ZSgpO0krKyl7CgkJaWYoaW5bSV09PSc9JylicmVhazsKCQlpZHg9dGFibGUuZmluZChpbltJXSk7CgkJaWYoaWR4Pj0wKXsKCQkJeD0oeDw8NikraWR4OwoJCQliKz02OwoJCQlpZihiPj04KXtiLT04O3JldCs9KGNoYXIpKCh4Pj5iKSYweGZmKTt9CgkJfQoJfQoJd2hpbGUoYj49OCl7Yi09ODtyZXQrPShjaGFyKSgoeD4+YikmMHhmZik7fQoJcmV0dXJuIHJldDsKfQppbnQgbWFpbigpewoJc3RyaW5nIGRuYV9vcmlnPSIqIjsKCXN0cmluZyBkbmEgPSBiYXNlNjRfZGVjb2RlKGRuYV9vcmlnKTsKCWludCBwb3MgPSBkbmEuZmluZCgoY2hhcik0Mik7CglkbmEgPSBkbmEuc3Vic3RyKDAscG9zKStkbmFfb3JpZytkbmEuc3Vic3RyKHBvcysxKTsKCgljaW4+Pm5vc2tpcHdzOwoJaXN0cmVhbV9pdGVyYXRvcjxjaGFyPiBpdChjaW4pOwoJaXN0cmVhbV9pdGVyYXRvcjxjaGFyPiBlbmQ7CglzdHJpbmcgeHJheShpdCxlbmQpOwoJZm9yKGludCBpPTA7aTxkbmEuc2l6ZSgpO2krKylpZihkbmFbaV0hPXhyYXlbaV0pcHJpbnRmKCIlZFxuXCIlY1wiXG5cIiVjXCJcbiIsaSxkbmFbaV0seHJheVtpXSk7Cn0=";
string dna = base64_decode(dna_orig);
int pos = dna.find((char)42);
dna = dna.substr(0,pos)+dna_orig+dna.substr(pos+1);
cin>>noskipws;
istream_iterator<char> it(cin);
istream_iterator<char> end;
string xray(it,end);
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]);
}