问题 F: 手机密码

时间限制: 1 Sec  内存限制: 128 MB
提交: 41  解决: 23
[提交] [状态] [讨论版] [命题人:admin]

题目描述

手机安全问题是大家经常关心的一个问题。
在生物解锁没有出现之前,人们通常有两种方式设置手机密码:九宫格密码和数字密码。
我们先来简化一下这两种密码的格式:
对于九宫格密码:
.至少连接4个以上不同的圆点。
.只能连接相邻(八方向)的圆点,且每个圆点只能通过一次。
.密码的长度定义为经过的圆点数。
对于数字密码:
.至少含有四个数字。
.密码长度定义为字符数。
现在,我们来尝试用枚举来破解这两种密码,当然我们可以提前获知一些消息:
.你可以通过观察对方解锁手机所用的时长,大致推断出对方的密码长度,
.在通常情况下,我们可以很轻松的得到密码第一位的信息,因为它最常被触碰比较油腻。而后,你来计算一下,对于这两种密码,最差我们需要枚举多少次,才能解开这组密码。 输入 出入包含四个整数n,a,x,y,
正整数n代表密码长度,
整数a代表数字密码的一位,
正整数(x,y),代表九宫格密码第一个经过的圆点的坐标
输入已EOF结束 输出 输出包含两个正整数,分别代表最差尝试几次可以破解九宫格密码,和数字密码 样例输入 样例输出 提示 九宫格密码的左上角坐标为(,)

思路:

有点长的题目,裸DFS,暴力一遍OK!

题解代码:

 #include<iostream>
#include<stdio.h>
#include<string.h>
#include<string>
#include<vector>
#include<algorithm>
#define ll long long
using namespace std;
#define N 10000
#define ll long long
int mp[][];//(1,1)--(3,3)
int ans1;
int dir[][]={ {,},{,},{,-},{-,},{,-},
{,},{-,},{-,-} };
int vis[][];
int n;
void dfs(int x,int y,int step){
if(step==n)
{
ans1++;return ;
}
for(int i=;i<=;i++){
int dx,dy;
dx=x+dir[i][];
dy=y+dir[i][];
if(dx>=&&dy>=&&dx<=&&dy<=&&!vis[dx][dy]){
vis[dx][dy]=;
dfs(dx,dy,step+);
vis[dx][dy]=;
}
} }
int main()
{
int beg,x,y;
while(scanf("%d%d%d%d",&n,&beg,&x,&y)!=EOF){
ans1=;
ll ans2=;
memset(vis,,sizeof(vis)); vis[x][y]=;
dfs(x,y,); for(int i=;i<=n;i++)
ans2*=; printf("%d %lld\n",ans1,ans2);
} return ;
}

题意不可怕,可怕的是盲目追榜单233~~

2018/7/31-zznu-oj-问题 F: 手机密码--【裸dfs+for循环即可!——据说三个小时内只有两个人读完了题意并轻松AC了】的更多相关文章

  1. 九度OJ 1079:手机键盘 (翻译)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2279 解决:1233 题目描述: 按照手机键盘输入字母的方式,计算所花费的时间 如:a,b,c都在"1"键上,输入a只 ...

  2. iOS 添加手机密码、指纹进行安全验证

    为APP添加安全验证 1.导入头文件 #import <LocalAuthentication/LocalAuthentication.h> 2.添加手机密码验证 //创建安全验证对象 L ...

  3. 洛谷 U6850 手机密码

    U6850 手机密码 题目背景 小明的手机上设了一个由四个数字组成的密码,但是小明自己的记性不好,但又不想把密码直接记在纸上,于是便想了一个方法. 题目描述 小明有四行数字,每行数字都有n[i](&l ...

  4. codeforces div2_603 F. Economic Difficulties(树dfs预处理+dp)

    题目连接:http://codeforces.com/contest/1263/problem/F 题意:有n个设备,上和下分别连接着一颗树,上下两棵树每棵树的叶子节点连接一个设备,两棵树的根节点都是 ...

  5. 2018/03/31 每日一个Linux命令 之 date

    date 命令主要用于查看和修改时间和时区 -- 这里主要学习基本的查看和设置时间和时区的方法. 直接显示日期 date '+%D' 效果 vagrant@hong:~$ date '+%D' 03/ ...

  6. 2018 Multi-University Training Contest 3 Problem F. Grab The Tree 【YY+BFS】

    传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6324 Problem F. Grab The Tree Time Limit: 2000/1000 MS ...

  7. 2018.12.31 bzoj4001: [TJOI2015]概率论(生成函数)

    传送门 生成函数好题. 题意简述:求nnn个点的树的叶子数期望值. 思路: 考虑fnf_nfn​表示nnn个节点的树的数量. 所以有递推式f0=1,fn=∑i=0n−1fifn−1−i(n>0) ...

  8. 2018.12.31 NOIP训练 偶数个5(简单数论)

    传送门 对于出题人zxyoizxyoizxyoi先%\%%为敬题目需要龟速乘差评. 题意简述:5e55e55e5组数据,给出n,请你求出所有n位数中有偶数个5的有多少,n≤1e18n\le1e18n≤ ...

  9. 2018.12.31 bzoj3771: Triple(生成函数+fft+容斥原理)

    传送门 生成函数经典题. 题意简述:给出nnn个数,可以从中选1/2/31/2/31/2/3个,问所有可能的和对应的方案数. 思路: 令A(x),B(x),C(x)A(x),B(x),C(x)A(x) ...

随机推荐

  1. 区块链学习(四)truffle部署编译智能合约以太坊私有链

    前面我们介绍了以太坊私有链的搭建以及多节点私有链网络,这次我们介绍如何使用truffle框架来部署编译智能合约到我们之前搭建的私有链网络中. 搭建环境及需使用的工具:ubuntu18.04  Truf ...

  2. eNSP——ACL基础设置

    原理: 实验案例: 拓补图: 实验编址: 1.基础设置 根据实验编址进行基础设置,并检测直连链路的连通性. 2.搭建OSPF网络 在所有路由器运行OSPF协议,通告相应网段到区域0. 在上一个随笔有详 ...

  3. MySQL安装时出现的问题

    mysql正常安装结束之后需要连接你所安装的数据库的时候出现下面的错误: Client does not support authentication protocol requested by se ...

  4. layui监听复选按钮点击

    layui.form.on('checkbox(resultQuery)', function(data){ console.log(data.elem); //得到checkbox原始DOM对象 c ...

  5. 简单谈一谈Java内部类的使用原因

    使用内部类的原因 学习总得知其所以然,前面的一篇文章中我有提到过关于java内部类的几种用法以及一些示例,但是不明白内部类具体可以做什么,显然学习起来很渺茫,今天的文章简单说一说使用内部类的几个原因, ...

  6. 【转帖】Linux 内核系统架构

    Linux 内核系统架构   描述Linux内核的文章已经有上亿字了 但是对于初学者,还是应该多学习多看,毕竟上亿字不能一下子就明白的. 即使看了所有的Linux 内核文章,估计也还不是很明白,这时候 ...

  7. java中内存泄露有几种?如何分析泄露原因

    一.Java内存回收机制 不论哪种语言的内存分配方式,都需要返回所分配内存的真实地址,也就是返回一个指针到内存块的首地址.Java中对象是采用new或者反射的方法创建的,这些对象的创建都是在堆(Hea ...

  8. Java操作word转pdf

    如果转换后出现乱码,是doc格式的文档的话请转换为docx!!! 下载相关jar包和一个授权到2099年的凭证文件. 链接: https://pan.baidu.com/s/1xudkKqR1-TLL ...

  9. TCP状态转换(图解+文字解说)

    <深入分析 javaweb 技术内幕>P38 读书扩展 作者:淮左白衣 写于2018年4月12日20:58:36 目录 TCP状态转换图解 图解三次握手 文字讲解三次握手: 图解四次挥手 ...

  10. go 实现每次生成不同随机值

    直接使用rand.Intn(10) 多次运行发现每次的随机值都是一样的 查看 Intn方法的源码说明 // Intn returns, as an int, a non-negative pseudo ...