题目名就告诉你们这个题目叫做【存密码】
给一个长字符串,然后给你0-9的表示方法,问刚刚那个字符串是怎样一个8位数
我们就用str[i] i=0~9 来存储每个数字代表的串咯~
然后怎么匹配呢,我们可以用substr这个函数 str.substr(pos,len) 是代表从str字符串的pos开始,获得一个长度为len的字符串,这是一个字符串问题常用的很方便快捷的函数。
那么来看看源码?
#include <cstdio>
#include <string>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
typedef long long ll;
// http://codeforces.com/contest/94
// Restoring Password
int main()
{
string acinfo; cin>>acinfo;
string s[10];
for(int i=0;i<10;i++) cin>>s[i];
for(int i=0;i<8;i++)
{
string tmp=acinfo.substr(i*10,10);
//cout<<tmp<<endl;
for(int i=0;i<10;i++)
{
if(tmp==s[i])
{
cout<<i;
break;
}
}
}
return 0;
}

本文介绍了一个密码恢复的问题,黑客通过病毒更改了ISQ用户的密码,并留下了一串80字符的二进制代码。文章提供了恢复密码的方法,即通过匹配10位二进制代码组与数字0到9的对应关系来还原原始的8位数字密码。

被折叠的 条评论
为什么被折叠?



