codevs4343 找回密码
2024-08-31 00:40:59
题目描述 Description
jrMz 很喜欢动漫《叛逆的鲁鲁修》(额= =不知道是不是因为他盯上了动画片里的 MM),他
准备以一种神奇的方式降临《叛逆的鲁鲁修》世界,所以他先从《变形金刚》里把大黄蜂拐
了出来,然后成功加入了黑色骑士团。不过比较坑的事情出现了,正在与机甲激烈战斗中的
大黄蜂突然 WA 了,只有输入密码才能使它 AC,不幸的是 jrMz 已经忘记了密码。大黄蜂
的密码是一个 N 位的十进制非负整数(允许前缀 0),为了防止遗忘, jrMz 曾经将密码记了
下来。出于保密他没有将密码按原样记录(作死啊= =),于是他将他的密码乘以 E,其中
E=233……3(共 N-1 个 3),然后将结果的最后 N 位(保留前缀 0)进行记录。看着本来正
在欣赏他飒爽风姿的 MM(此仅仅是举例,举例!比如说鲁鲁修的妹妹什么的……), jrMz
只好紧握住你的双手向你求助了。
输入描述 Input Description
仅一行,一个 N 位的十进制非负整数,表示密码与 E 的乘积的最后 N 位。
输出描述 Output Description
仅一行,一个 N 位的十进制非负整数,表示密码。
样例输入 Sample Input
178
样例输出 Sample Output
666
数据范围及提示 Data Size & Hint
【 Sample Explanation】
在所有三位十进制非负整数中,只有 666,满足其与 233 的乘积( 155178)的最后 3 位是 178。
【 Data Size】
对于 30%的数据, N<=7;
对于 60%的数据, N<=1,000;
对于 100%的数据, 3<=N<=1,000,000。
#include<cstdio> #include<cstring> char a[],ans[]; int main(){ scanf("%s",ans); int n=strlen(ans),g=ans[n-]-'',k=; for(int i=n-;i>=;i--) a[n-i]=ans[i]-''; memset(ans,,sizeof(ans)); for(int i=;i<=n;i++){ ans[i]+=a[i]*; ans[i+]+=ans[i]/; ans[i]=ans[i]%; } ans[n]=(ans[n]+g)%; for(int i=;i<=n;i++){ a[i]=k-ans[i]; if(a[i]<){a[i]+=;k=-;} } for(int i=n;i>;i--) printf("%d",a[i]); return ; } //origin #include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<algorithm>
#include<queue>
#include<vector>
#include<stack>
#include<map>
using namespace std;
int n,a[],b[],c[],d[];
const int ans[] = {,,,,,,,,,};
inline int getans(int w){
int cmd = ;
for(int i = ;i <= n;i++){
if(i == n) cmd = ;
if(w == ) break;
for(int j = w-;j < w;j++){
c[i+j-] += cmd*b[j];
c[i+j] += c[i+j-]/;
c[i+j-] %= ;
}
}
return ans[(a[w]-c[w]+)%];
}
int main(){
n = ;
char cmd;
while(){
cmd = getchar();
if(cmd < ) break;
d[++n] = cmd-'';
}
for(int j = n;j >= ;j--) a[j] = d[n-j+];
for(int i = ;i <= n;i++){
b[i] = getans(i);
}
for(int i = n;i >= ;i--)printf("%d",b[i]);
return ;
}
最新文章
- Python之路-python(堡垒机)
- 面试时被问到js的绑定事件,我居然不知道怎么回答。回来查了下,做个笔记
- 首页使用page类完成生成页面内容的大部分工作
- 【poj2741】 Colored Cubes
- C++ Lambda表达式用法
- 使用EntityFramework连接 Mysql
- iOS--为视图添加阴影
- Java NIO中核心组成和IO区别
- 找工作笔试面试那些事儿(16)---linux相关知识点(1)
- tkinter中checkbutton多选框控件和variable用法(六)
- socket接收大数据流
- loj#2720. 「NOI2018」你的名字
- Ubuntu16.04安装Python3.6 和pip(python3 各版本切换)
- python函数作用域LEGB
- 30分钟LINQ教程的学习笔记
- Mac上获取文件md5 值
- 【转】 史上最详尽的平衡树(splay)讲解与模板(非指针版spaly)
- Percona-Tookit工具包之pt-query-digest
- 微信小程序 缓存说明
- 源代码管理git的使用