cf 88b Keyboard

深入解析emWin KEYBOARD控件:从数据结构到多语言键盘定制实战 在嵌入式GUI开发中,虚拟键盘是实现人机交互的核心组件,其设计直接影响产品的易用性。emWin KEYBOARD控件采用数据驱动架构,通过KEYDEF_KEYBOARD、KEYDEF_LINE等核心结构体定义键盘的布局、状态与行为,实现了高度可定制性。这种设计允许开发者基于同一套渲染引擎,快速构建从简易数字键盘到全功能多语言键盘的各种形态,并能通过千分比坐标实现屏幕自适应。在工程实践中,深入理解其数据结构是进行高级定制的基础,例如实现法语AZERTY、俄语ЙЦУКЕН等复杂键盘布局,或为数字键配置长按弹出功 阅读详情
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
#define del(a,b) memset(a,b,sizeof(a))
struct node
{
    int x,y;
}nn[900];
int aa[130];
bool flag;
int n,m,x,q,ans,snum;
char kb[33][33];
string s;
void init()
{
    del(aa,-1);
    x*=x;
    snum=0;
    ans=0;
    flag=true;
}
void fun()
{
    if(snum==0)
        return;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            if(kb[i][j]!='S')
            {
                int minn=10000,dd;
                for(int k=0;k<snum;k++)
                {
                    dd=(i-nn[k].x)*(i-nn[k].x)+(j-nn[k].y)*(j-nn[k].y);
                    if(dd<minn)
                        minn=dd;
                }
                if(minn<=x)
                    aa[kb[i][j]-32]=0;
                else if(aa[kb[i][j]-32]==-1)
                    aa[kb[i][j]-32]=1;
            }
        }
    }
}
void test()
{
    for(int i='a';i<='z';i++)
        printf("%c %d\n",i,aa[i]);
    printf("\n");
    for(int i='A';i<='Z';i++)
        printf("%c %d\n",i,aa[i]);
}
int main()
{
    while(~scanf("%d%d%d",&n,&m,&x))
    {
        init();
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<m;j++)
            {
                cin>>kb[i][j];
                if(kb[i][j]!='S')
                    aa[kb[i][j]]=0;
                else
                {
                    nn[snum].x=i;
                    nn[snum].y=j;
                    snum++;
                }
            }
        }
        fun();
        //test();
        scanf("%d",&q);
        cin>>s;
        for(int i=0;i<q;i++)
        {
            if(aa[s[i]]==-1)
            {
                flag=false;
                break;
            }
            ans+=aa[s[i]];
        }
        if(!flag)
            printf("-1\n");
        else
            printf("%d\n",ans);

    }
}

Cesium生态盘点:超图、火星3D等15个二次开发框架对比 本文深入解析Cesium生态中的15个二次开发框架,包括超图、火星3D等主流选择,帮助开发者根据项目需求进行精准选型。从性能表现、功能完备性、开发友好度等维度进行对比,特别适合需要处理地理空间数据和构建三维可视化的JavaScript开发者。 阅读详情

相关推荐

SAP FI 提示没有为会计年度0 定义版本2025 GP626

SAP 错误 GP626 是一个常见的系统消息,通常表示某个会计年度的版本(如版本 0)未被定义或未激活。:在执行某些事务(如创建采购订单、过账凭证或维护成本中心)时,系统会检查相关版本是否已定义。的“Settings for Each Fiscal Year”界面中,选择一个已激活的会计年度。的“Settings for Each Fiscal Year”界面中,找到未激活的会计年度。:在控制范围(Controlling Area)中,未为指定的会计年度定义版本 0。如果没有,添加或复制现有年度的设置。

GAVIN 2489

CodeForces 831 B.Keyboard Layouts(水~)

Description 给出两个字母表a和b,然后给出一个用第一个字母表表示下的字符串,要求用第二个字母表表示该字符串 Input 两个字母表a和b,然后是一个长度不超过1000的字符串s Output 输出s在第二个字母表下的表示,数字直接输出即可 Sample Input qwertyuiopasdfghjklzxcvbnm veamhjsgqocnrbfxdtwkylupzi

ZSQ 949

驱动钛丝(SMA)的应用(5)汽车腰托气阀常见问题及解决方案

财哥在前段时间发布的《驱动钛丝(SMA)的应用(1)汽车腰托支撑按摩气阀模块》一文,引发了很多企业的拜访和交流。 目前很多厂家已经启动或正在进行相关研发,同时也遇到了诸如:钛丝选型、驱动位移、响应设计、温度控制、力量设计、点动滞后、铆接工艺、量化生产等问题。

weixin_39168671的博客 1241

CF Vicious Keyboard 构造水题

分析为了防止出错 这里要注意 为了防止VK判断的时候 不影响其他的判断 对于一个VK 我们最好不要把他删掉 就直接把原来的VK覆盖掉 然后对于剩下的可能 最多只能增加一个VK 就是通过 目标条件判断 #include<bits/stdc++.h> using namespace std; int main() { string l; getline(cin,l);

qq_33859479的博客 454

macOS 12.7.6部署Ollama+Dify避坑指南

本文介绍了在macOS 12.7.6系统下部署Ollama和Dify的详细步骤及避坑指南。主要内容包括:1)关闭系统完整性保护(SIP)以允许修改系统目录;2)安装特定版本的Docker(2.1.0.5)和docker-compose(v2.38.2)以避免兼容性问题;3)配置Ollama服务并下载nomic-embed-text和deepseek-r1:7b模型;4)针对macOS调整Dify的docker配置文件,包括延长超时时间、修改存储路径、增加资源限制等关键设置。文中提供了完整的命令操作步骤和配置

Hi20240217的博客 3103

PDN分析实战:电源完整性设计与Altium PDN Analyzer全流程指南

电源完整性(PI)是嵌入式硬件系统稳定运行的基础能力,其核心在于控制电流密度与电压降两大物理量。基于欧姆定律与热-电耦合原理,PDN分析将抽象的电源噪声问题转化为可量化、可定位的几何与电气参数优化过程。该技术显著提升系统抗干扰能力、降低复位与ADC漂移等隐性故障率,并直接支撑EMC合规性设计。典型应用场景包括电机驱动板、Wi-Fi模块、STM32/ESP32等资源受限型MCU供电网络验证。本文以Altium Designer为工具平台,结合IPC-2152标准与真实工程案例,详解从功率预算、模型构建到瓶颈定

weixin_28949937的博客 229

CF1765B Broken Keyboard 题解(改)

还有一个小技巧:把数组开大一点,如果最后一个字符是第偶数次输入,那么其后面的字符是。接下来结论就很显然了,如果输入的字符串满足第一段中的要求,输出。特别的,如果最后一个字符是第偶数次输入,则也不行,输出。所以在扫一遍字符串时,除了要有一个变量。也就是说,可以不用管输入次数为奇数的字符。,一定不与字母相同。这可以省去一步特判。:去掉了原本不符合规范的机器翻译。来记录当前扫到了哪一个字符,:在字母与汉字间加入了空格。:略微调整了一下讲述。

WSD3319_的博客 704

python全栈入门到实战【基础篇 03】入门实操:第一个Python程序 + PyCharm使用 + 输入输出全解析

本文是一篇Python入门教程,主要介绍PyCharm编辑器的安装配置和基础使用,以及Python输入输出语法的实操练习。文章分为四个部分:1)PyCharm的下载安装与基础配置;2)第一个Python程序"Hello World"的编写与运行;3)Python输入输出函数print()和input()的详细讲解;4)个人信息录入系统的实战案例。教程包含大量截图和动图演示,适合Python新手跟随操作,快速掌握编辑器使用和基础语法。

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 4020

CF1238E Keyboard Purchase

CF1238E Keyboard Purchase 题目大意 给定nnn和mmm,表示给出一个长度为nnn的小写字母串,其中的每个字母的大小不会超过第mmm个小写字母 mmm个小写字母:a,b,c,...a, b, c, ...a,b,c,...mmm个 然后可以改变mmm个小写字母的相对位置,有m!m!m!种可能,每一种可能的值是给出的字符串的每两个相邻位置的字母的相对位置的和 求这个最小是多少...

lahlah的博客 485

labelImg使用教程

Anaconda环境 安装 Anaconda 之后,在开始菜单下找到 Anaconda 文件夹 找到 Anaconda Prompt 点击运行 安装 labelImg pip install labelImg #直接命令行输入 启动 labelImg labelImg #直接命令行输入名称即可 labelImg界面 开始标注 快捷键:W(创建方框),A(上一张),D(下一张) XML文件示例 <annotation> <folder>夜读</folder>

G果的博客 3万+

【PX4学习笔记】3. PX4 固件烧写(1 探索过程)

飞控型号:cube orange【PX4官方用户指南中关于cube orange的描述】 飞控载板型号:Mini Carrier Board【迷你载板说明文档】 固件安装参考:The Cube User Manual V1.0

【人工智障 | 计算鸡视觉 | 机器孩】 7676

CF831B-Keyboard Layouts

B. Keyboard Layoutstime limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output There are two popular keyboard layouts in Berland, they differ only in le

algzjh的博客 1115

DMDiff(2025):一种基于SAR光学数据融合的双分支多模态条件引导扩散模型-k学长深度学习专栏

DMDiff提出了一种基于扩散模型的多模态遥感图像去云方法,通过双分支网络分别提取SAR的结构信息和光学图像的光谱特征,再利用跨模态注意力机制实现特征融合。创新性地采用IAP策略直接预测无云图像而非噪声,有效解决了传统方法在遥感图像处理中易出现的光谱失真问题。实验表明该方法在PSNR等指标上显著优于现有技术,但存在计算量大、生成速度慢等不足。未来可结合加速采样策略和几何约束进一步优化。

423

CF831B 【Keyboard Layouts】

题目大意:给你26个字母的映射(均为小写),再给你一串长度不大于1000的字符串,要你输出它的映射结果。 (其他符号如数字不变) 因为是映射,同时字符串长度才1000,直接用map进行求解。 将原字符串的字符映射到map里。 注意大写还是大写,数字还是数字。 代码: //This is by Robinzh #include<bits/stdc++.h> usin...

weixin_30362801的博客 872

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

CF 271 A Keyboard B Worms C Captain Marmot

A:边界不用处理,直接遍历原始数组先

uuuuuu 861

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

CF1238 E.Keyboard Purchase【状压/子集划分DP】

题目链接:CF1238 E.Keyboard Purchase 题意:给你一个由前m个字母组成的长度为n(1e5)的字符串,要求你决定一个前m(20)个字母的排列,每个字母的价值是它在排列中的位置,原字符串的代价是相邻两个字母的价值差,问字符串的最小代价是多少; 分析:首先可以预处理出相邻字母组合的出现次数;考虑状态压缩,第i位为1表示第i个字母已经定过了排列的位置,为0表示他的位置没有决定,...

MaJorieL 274

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

cf424div2 B. Keyboard Layouts

B. Keyboard Layouts time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output There are two popular keyboard layouts i

Every Master was once a disaster or beginner. 369

cf Santa Claus and Keyboard Check

这是一道模拟水题,当时居然没有做出来www。用一个数组来记录哪些字母是对应的,然后如果出现已经出现的字母对应的字母不对应就输出-1,当时一直卡住,不知道哪里错了,后面发现是一个逻辑写错了,要先记录字母再判断是否要放入vector输出,一开始我是判断了是否相等然后再来做,一直卡在14组。因为先判断的话会让这个字符相等的没有做字符对应。 #include &lt;iostream&gt; #inc...

開開吣吣的博客 216

CF1238E Keyboard Purchase(状压DP)

题意 给你一个文本串S(len(S)≤105)S(len(S) \leq 10^5)S(len(S)≤105),由前m(m≤20)m(m\leq20)m(m≤20)个小写字母组成。要你求一种键盘的排列,使得打出这个文本串的消耗最小。这个消耗costcostcost的计算方式为相邻字符的键盘距离之和,也就是∑i=2n∣possi−1−possi∣\sum_{i=2}^{n} |pos_{s_i-1}...

u013738000的博客 375

ios 输入法扩展_ios 应用扩展—— Keyboard Extension

注意!转载请注明出处和作者,谢谢自定义键盘扩展我们来做一个可以进行科学运算的计算器键盘吧。2. 创建 Keyboard Extension 扩展 下一步,命名,完成。修改运行时执行的主应用在 Run 一项里选择运行时执行的主应用, 勾上 Debug executable:在 info.plist 文件修改自定义键盘的标题:以及其他的默认设置:IsASCIICapable–布尔值,默认为NO,表示...

weixin_39940154的博客 1309

Codeforces Round #424 (Div. 2) B Keyboard Layouts 思维题 字符串处理

CF传送门 题意: 1. 这个世界上有很多种键盘,他们的共同点是排版一样,唯一不同就是字母的位置不同 2. 第一个字符串就是原键盘,第二个字符串是新键盘,第三个字符串是用原键盘进行读入的 3. 请问如果键位不变的情况下,使用新键盘读入的是什么字符串(大小写要符合第三字符串) 题解: 1. 这个串虽然不长,但是如果暴力从原键盘搜下标的话,这个遍历的时间复杂度应该还是挺高的 2.

三生锁链 343

CF - 752B. Santa Claus and Keyboard Check 贪心+字符串

1.题目描述: B. Santa Claus and Keyboard Check time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Sa

终有绿洲摇曳在沙漠 441

emWin KEYBOARD控件深度解析:从预定义布局到自定义键盘实战

在嵌入式GUI开发中,虚拟键盘是实现人机交互的核心组件,其设计直接关系到产品的用户体验。emWin作为一款成熟的嵌入式图形库,其KEYBOARD控件提供了一套完整的键盘框架,通过预定义布局和灵活的数据结构,极大地简化了开发流程。该控件的核心原理在于其基于千分比的绝对布局和分层式结构设计,使得键盘能够自适应不同屏幕尺寸。从技术价值看,它不仅支持多语言布局和长按字符功能,还能通过流式布局实现设计与逻辑的分离,便于多主题切换。在实际应用场景中,无论是工业HMI的参数输入,还是消费电子的文本录入,开发者都可以基于K

weixin_34197488的博客 394

748B Santa Claus and Keyboard Check

题目链接:http://codeforces.com/problemset/problem/748/B题解:题目大意: 给出两个字符串,两个字符串中,会有一些字符出现映射,比如h->e,e - >h(只能对应一个,不能对应多个),请你输出满足条件的数量,以及字母和它的对应字母。 用map来做,直接用数组的话可能比较麻烦,用map看起来比较的简洁,详细看代码。代码:#include <cstdio

silver_bone的博客 542

CF-Round605比赛总结

Codeforces Round #605 (Div. 3) A: Three Friends 题意: 给出三个点的坐标,每一个点可以进行左移或者右移单位1,或者不移动,问最后三个点之间的相对距离最小值是多少。 解题思路: 因为每一个点最多三种情况,所以枚举一下即可。 代码如下: #include<bits/stdc++.h> using namespace std; typedef ...

weixin_45677913的博客 243

CodeForces - 1303C Perfect Keyboard

一、内容 Polycarp wants to assemble his own keyboard. Layouts with multiple rows are too complicated for him — his keyboard will consist of only one row, where all 26lowercase Latin letters will be arrang...

Tizzi的博客 816
上一篇: cf #327 Div.2 Problem B Rebranding
下一篇: cf 593a 2Char
StoolMonster
博客等级 码龄12年 11粉丝 70原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值