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 ;
}
随机推荐
- WPF 程序的编译过程
原文:WPF 程序的编译过程 基于 Sdk 的项目进行编译的时候,会使用 Sdk 中附带的 props 文件和 targets 文件对项目进行编译.Microsoft.NET.Sdk.WindowsD ...
- mysql-配置与使用(跳过原始密码登陆)
目录 简单的使用步骤 环境变量的操作 配置文件的使用 查找进程 mysql 5.6 管理员密码的设置 简单的使用步骤 bin 下面有mysqld.exe 是服务端程序, mysql.exe 是客户端程 ...
- 30个关于Shell脚本的经典案例(上)
对于初学者而言,因为没有实战经验,写不出来Shell脚本很正常,如果工作了几年的运维老年还是写不出来,那就是没主动找需求,缺乏练习,缺乏经验.针对以上问题,总结了30个生产环境中经典的Shell脚本, ...
- Matlab外观模式
外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口.本文以计算机为例,用Matlab代码实现外观模式.计算机包括CPU.内存以及硬盘等这些部件.用户 ...
- Django 信号使用问题
Django 信号使用问题: 在使用django内置信号修改新注册的用户密码的时候,发现内置信号没有被触发.百度&官方文档找到了答案 1.信号的函数应该放在哪里? 这段代码应该放在哪里? 严格 ...
- 【开发工具】- 设置Sublime支持韩文展示
菜单栏 --> 首选项 --> 设置 -->User 添加以下代码 { "font_size": 12, "show_encoding":tr ...
- Django:表多对多查询、聚合分组、FQ查询、事务
1表多对多的关系查询 准备工作创建表结构 from django.db import models # Create your models here. class Publisher(models. ...
- spring boot 集成 sitemesh
一.Sitemesh简介 Sitemesh是由一个基于Web页面布局.装饰及与现存Web应用整合的框架,是一个装饰器.它能帮助我们在由大量页面工程的项目中创建一致的页面布局和外观,如一致的导航条.一致 ...
- Hybris订单价格的折扣维护
backoffice里创建一个新订单,维护一个行项目,添加一个产品: 在行项目的SubTotal界面,维护Base Price,在Discount values字段里,输入折扣信息:discount: ...
- 手动实现KNN算法
手动实现KNN算法 计算距离 取k个邻近排序 距离(欧氏) 预习 import numpy as np # 数组运算是面向元素级别的 arr1 = np.array([1,2,3]) arr2 = n ...