U79891.解密pro

NOI/NOI+/CTSC

通过率:0%

时间限制:3.50s ~ 10.00s

内存限制:512MB

题目描述

林总的几个数字代号被别人加密了
已知加密程序

#include<iostream>
#include<cmath>
#include<string>
#include<cstdio>
#include<cstring>

using namespace std;
unsigned long long test[100000000]={}; 
unsigned long long save[10000][200]={};
unsigned long long save1[100000000]={};
void dx(string a){
	for(int i=0;i<a.length();i++){
		test[i]=int(a[i]);
		test[i+1]^=test[i];
		test[i+2]|=test[i];
		
		test[i]-=test[i]&test[i+1];
		for(int j=0;j<a.length()*2;j++){
			save[i][j]=test[i]&test[i+1];
			test[j]+=max(max(test[i],test[j]),save1[j]);
			save1[j]=save[i][j]^max(test[i],test[j]);
		}
	}
}

int main(){
	string n;
	cin>>n;
	dx(n);
	for(int i=0;i<n.length();i++){
		unsigned long long once=char(save1[i]*10+save1[i+1]);
		cout<<once;
	}
}

帮她把原来的代号解密回来

输入格式

输入一个加密后的密文s

输出格式

输出加密前的数字代号

输入输出样例

  • 输入#1

    3212040184467440737095515341844674407370955159818446744073709551562

    输出#1

    114514
  • 输入#2

    184467440737095514881844674407370955153618446744073709551596205418446744073709551552

    输出#2

    123456

说明/提示

爱用AI的来看这题

首页