1067. 试密码(20)

1067. 试密码(20)

当你试图登录某个系统却忘了密码时,系统一般只会允许你尝试有限多次,当超出允许次数时,账号就会被锁死。本题就请你实现这个小功能。

输入格式:

输入在第一行给出一个密码(长度不超过20的、不包含空格、Tab、回车的非空字符串)和一个正整数N(<= 10),分别是正确的密码和系统允许尝试的次数。随后每行给出一个以回车结束的非空字符串,是用户尝试输入的密码。输入保证至少有一次尝试。当读到一行只有单个#字符时,输入结束,并且这一行不是用户的输入。

输出格式:

对用户的每个输入,如果是正确的密码且尝试次数不超过N,则在一行中输出“Welcome in”,并结束程序;如果是错误的,则在一行中按格式输出“Wrong password: 用户输入的错误密码”;当错误尝试达到N次时,再输出一行“Account locked”,并结束程序。

输入样例1:

Correct%pw 3
correct%pw
[email protected]
whatisthepassword!
Correct%pw
#

输出样例1:

Wrong password: correct%pw
Wrong password: [email protected]
Wrong password: whatisthepassword!
Account locked

输入样例2:

[email protected] 3
[email protected]
[email protected]
[email protected]
try again
#

输出样例2:

Wrong password: [email protected]
Wrong password: [email protected]
Welcome in
#include <iostream>
#include <iomanip>
#include <math.h>
#include <stdio.h>
#include <string>
#include <algorithm>
#include <vector>
#include <map>
using namespace std;

int main()
{
    string ans,temp;
    int n,cnt=0;
    cin >> ans >> n;
    vector<string> input(n);
    getchar();
    while (1)
    {
        getline(cin, temp);
        if (temp != "#") cnt++;
        else break;
        if (cnt <= n&&temp == ans)
        {
            cout << "Welcome in"<<endl;
            break;
        }
        else if (cnt <= n&&temp != ans)
        {
            cout << "Wrong password: " << temp << endl;
            if (cnt == n)
            {
                cout << "Account locked" << endl; break;
            }
        }
    }

    system("pause");
    return 0;
}
				
时间: 2024-10-10 14:36:00

1067. 试密码(20)的相关文章

PAT 1067. 试密码(20)

当你试图登录某个系统却忘了密码时,系统一般只会允许你尝试有限多次,当超出允许次数时,账号就会被锁死.本题就请你实现这个小功能. 输入格式: 输入在第一行给出一个密码(长度不超过20的.不包含空格.Tab.回车的非空字符串)和一个正整数N(<= 10),分别是正确的密码和系统允许尝试的次数.随后每行给出一个以回车结束的非空字符串,是用户尝试输入的密码.输入保证至少有一次尝试.当读到一行只有单个#字符时,输入结束,并且这一行不是用户的输入. 输出格式: 对用户的每个输入,如果是正确的密码且尝试次数不

PAT 1067. 试密码

PAT 1067. 试密码 当你试图登录某个系统却忘了密码时,系统一般只会允许你尝试有限多次,当超出允许次数时,账号就会被锁死.本题就请你实现这个小功能. 入格式: 输入在第一行给出一个密码(长度不超过20的.不包含空格.Tab.回车的非空字符串)和一个正整数N(<= 10),分别是正确的密码和系统允许尝试的次数.随后每行给出一个以回车结束的非空字符串,是用户尝试输入的密码.输入保证至少有一次尝试.当读到一行只有单个#字符时,输入结束,并且这一行不是用户的输入. 输出格式: 对用户的每个输入,如

1067 试密码

题目链接:https://pintia.cn/problem-sets/994805260223102976/problems/994805266007048192 题解: 1 //本题有一个坑需要注意:错误密码可以包含空格等,所以应该改用getline而不是cin进行输入 2 #include<iostream> 3 #include<string> 4 #include<cstdio> 5 using namespace std; 6 7 int main() {

3-1067. 试密码

1067. 试密码(20) 时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue当你试图登录某个系统却忘了密码时,系统一般只会允许你尝试有限多次,当超出允许次数时,账号就会被锁死.本题就请你实现这个小功能. 输入格式: 输入在第一行给出一个密码(长度不超过20的.不包含空格.Tab.回车的非空字符串)和一个正整数N(<= 10),分别是正确的密码和系统允许尝试的次数.随后每行给出一个以回车结束的非空字符串,是用户尝试输入的密码.输入保

PAT_B_1067_试密码

题目描述: 当你试图登录某个系统却忘了密码时,系统一般只会允许你尝试有限多次,当超出允许次数时,账号就会被锁死.本题就请你实现这个小功能. 输入格式: 输入在第一行给出一个密码(长度不超过 20 的.不包含空格.Tab.回车的非空字符串)和一个正整数 N(≤ 10),分别是正确的密码和系统允许尝试的次数.随后每行给出一个以回车结束的非空字符串,是用户尝试输入的密码.输入保证至少有一次尝试.当读到一行只有单个 # 字符时,输入结束,并且这一行不是用户的输入. 输出格式: 对用户的每个输入,如果是正

[jzoj]3875.【NOIP2014八校联考第4场第2试10.20】星球联盟(alliance)

Link https://jzoj.net/senior/#main/show/3875 Problem 在遥远的S星系中一共有N个星球,编号为1…N.其中的一些星球决定组成联盟,以方便相互间的交流. 但是,组成联盟的首要条件就是交通条件.初始时,在这N个星球间有M条太空隧道.每条太空隧道连接两个星球,使得它们能够相互到达.若两个星球属于同一个联盟,则必须存在一条环形线路经过这两个星球,即两个星球间存在两条没有公共隧道的路径. 为了壮大联盟的队伍,这些星球将建设P条新的太空隧道.这P条新隧道将按

最近开始努力学python 写了一个python小代码:判断一个登陆程序,如果账号密码输错3次,锁定账号无法再登陆

1 count = 0 2 username = 'zhangsan' 3 userpassword = '111111' 4 5 f = open('lock.txt','r+') 6 file_list = f.readlines() 7 f.close() 8 #打开文件夹 读取数据 9 10 name = input("请输入用户名:") 11 12 if name in file_list: 13 print("您的账号被锁定!") 14 #判断文件夹中的

【C/C++学院】0801-重定向以及文件扫描/二进制加密解密/简单加密/按照密码加密/动态库与静态库

重定向以及文件扫描 #define _CRT_SECURE_NO_WARNINGS//关闭安全检查 #include<stdio.h> #include<stdlib.h> void main1() { char str[100] = { 0 }; scanf("%s", str); printf("str=%s\n", str); system(str); } void main2() { char str[100] = { 0 }; fs

Java 自动创建会员信息--包含用户名,卡号,密码,电话号码

|--需求说明 1.自动注册一堆会员账号并保存为本地文件 2.关闭程序,载入本地文件,可以用注册出来的会员账号及密码登录 |--实现方式 1.使用随机的方式生成会员信息 2.使用ObjectOutputStream和ObjectInputStream 对会员信息进行保存和读取 |--代码内容 1 package cn.save; 2 3 import java.io.Serializable; 4 5 /** 6 * @auther::9527 7 * @Description: 用户类 8 *