Good Morning
题目链接:Good Morning
题目大意:按键盘上的数字,只能在此位置的基础上往右往下按,要求输出与所给值差的绝对值最小的数
AC代码如下:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
using namespace std;
const int maxn=1e9+;
int a[][];
bool vis[];
int f[];
int k; bool judge(int x)
{
int tot=;
int s[];
for( ;x;x/= )
{
s[++tot]=x%;
}
for(int i=tot; i>; i-- )//判断每一位是否符合题目所给的输出条件
{
if( !a[s[i]][s[i-]] ) return false;
}
return true;
} void init()
{
//打表1.a[i][j]表示从i键可以到j键打表为1,其他从i不可到的键为0
a[][]=; a[][]=; a[][]=; a[][]=; a[][]=; a[][]=; a[][]=; a[][]=; a[][]=; a[][]=;
a[][]=; a[][]=; a[][]=; a[][]=; a[][]=; a[][]=; a[][]=;
a[][]=; a[][]=; a[][]=;
a[][]=; a[][]=; a[][]=; a[][]=; a[][]=; a[][]=; a[][]=;
a[][]=; a[][]=; a[][]=; a[][]=; a[][]=;
a[][]=; a[][]=;
a[][]=; a[][]=; a[][]=; a[][]=;
a[][]=; a[][]=; a[][]=;
a[][]=;
a[][]=; memset(vis,false,sizeof(vis));
memset(f,-,sizeof(f));
//打表2,标记0到210之间所有符合输出条件的数
for(int i=;i<=; i++ )
{
if( judge(i) ) vis[i]=true;
}
//打表3,暴力试i的符合输出的数,试i-1,i-2,i-3,,,2,1,0; i; i+1,i+2,i+3,....i+210
for(int i=; i<=; i++ )
{
for(int j=; j<=; j++ )
{
if( i-j>= && vis[i-j] )
{
f[i]=i-j;
break;
}
if( i+j<= && vis[i+j] )
{
f[i]=i+j;
break;
}
}
}
} int main()
{
int t;
scanf("%d",&t);
init();
while( t-- )
{
scanf("%d",&k);
printf("%d\n",f[k]);
}
return ;
}
随机推荐
- Android.mk简介:
Android.mk简介: Android.mk文件用来告知NDK Build 系统关于Source的信息. Android.mk将是GNU Makefile的一部分,且将被Build System解 ...
- 笔记本用hdmi连接显示器后无法播放声音问题
打开控制面板的声音选项,把默认播放音频的设备设置成笔记本扬声器.这种方法直接利用笔记本扬声器
- 30个关于Shell脚本的经典案例(中)
本文目录 11.iptables自动屏蔽访问网站频繁的IP 12.判断用户输入的是否为IP地址 13.判断用户输入的是否为数字 14.给定目录找出包含关键字的文件 15.监控目录,将新创建的文件名追加 ...
- 浅谈JS中 var let const 变量声明
浅谈JS中 var let const 变量声明 用var来声明变量会出现的问题: 1. 允许重复的变量声明:导致数据被覆盖 2. 变量提升:怪异的数据访问.闭包问题 3. 全局变量挂载到全局对象:全 ...
- procfs、debugfs
procfs 是进程文件系统(file system) 的缩写,包含一个伪文件系统,用于通过内核访问进程信息 这个文件系统通常被挂载到 /proc 目录.由于 /proc 不是一个真正的文件系统,它也 ...
- 使用ABAP绘制可伸缩矢量图
Jerry去年的文章 动手使用ABAP Channel开发一些小工具,提升日常工作效率 里曾经介绍过一些用ABAP实现的可供娱乐的小程序,比如用古老的HPGL接口在SAPGUI里绘图: 关于如何用SA ...
- MySQL DataType--浮点数(Floating-Point Types)学习
浮点数(Floating-Point Types) MySQL支持两种浮点数类型来表示近似值:1.FLOAT,单精度浮点数,使用4字节存储,存储数据范围3.402823466E+38 - -1.175 ...
- HTTPS安全通信过程
前言:本文是的第三篇文章.第一篇文章<常见加密算法特点及适用场景>,介绍了常见加密算法及其适用的场景,对加密算法做一个总体的概述.第二篇文章<非对称加密算法-RSA算法&g ...
- Mariadb/MySQL多实例实战
Mariadb/MySQL多实例实战 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装MySQL程序 无论你喜欢哪种方式安装均可,关于源码安装,yum安装或者二进制安装,可以 ...
- Python +appium 封装desired_caps模块
使用python+appium做android的自动化测试时,首先需要启动appium服务,然后连接上手机,配置如下: desired_caps = {"platformName" ...