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 ;
}
随机推荐
- selenium中元素操作之浏览器窗口滚动&网页日期控件操作(js操作)(五)
js的滚动条scrollIntoView() Arguments[] - python与js之间的羁绊 1.移动到元素element对象的“底端”,与当前窗口的“底部”对齐: driver.execu ...
- 手写MQ框架(一)-准备启程
一.背景 很久以前写了DAO框架和MVC框架,前段时间又重写了DAO框架-GDAO(手写DAO框架(一)-从“1”开始,源码:https://github.com/shuimutong/gdao.gi ...
- Ext.create使用(上)
本文介绍前两种使用方法: 通过full name, alias 或者 alternate name实例化一个类 // 别名 // alias var window = Ext.create('widg ...
- linux ftp虚拟用户的创建
学习目标: 匿名用户的登录,添加用户的登录,虚拟用户的创建. 虚拟用户的创建: 1.安装:yum -y install vsftpd 服务端 yum -y install ftp ...
- Linux“七大蠢”收录
这个系列的文章,前段时间在微信公共平台(阿里技术嘉年华)上看过,写得很好. Linux"七大蠢"之一:万般皆文本 Linux"七大蠢"之二:处处有脚本 Linu ...
- 深入理解JVM-java内存区域与内存溢出异常
1.内存模型概述 2.运行时数据区 2.1.程序计数器 理解: 1.什么是程序计数器 2.线程私有还是共享 引入难点: 理解什么是 native方法 简单地讲,一个Native Method就是一个j ...
- 基于 K8S 集群安装部署 istio-1.2.4
使用云平台可以为组织提供丰富的好处.然而,不可否认的是,采用云可能会给 DevOps 团队带来压力.开发人员必须使用微服务以满足应用的可移植性,同时运营商管理了极其庞大的混合和多云部署.Istio 允 ...
- MySQL MHA--在线主库切换(Online master switch)
在线主库切换(Online master switch)条件 1.所有节点正常运行,无论时原主还是新主或者其他从库 if ( $#dead_servers >= 0 ) { $log->e ...
- SQL Text Literals 文本
Text Literals 文本 Use the text literal notation to specify values whenever string appears in the synt ...
- windows下控制台程序实现窗口显示
windows下实现窗口显示,如果限定是C/C++语言,并且是原生Windows支持,需要使用GDI或GDI+.一般是在Visual Studio里新建Win32应用程序,而不是Win32 conso ...