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);

    }
}

5.1 rocr-runtime libhsakmt event 机制全景—从 Doorbell 到 Signal 本文介绍了ROCm/KFD中的Event机制架构,主要解决GPU异步计算中的反馈问题。Event机制分为三层:硬件层触发事件,内核层管理事件通知,用户态接收处理。事件类型分为三大类:同步类事件(如SIGNAL、QUEUE_EVENT)用于任务完成通知,异常类事件(如MEMORY、HW_EXCEPTION)报告错误,拓扑类事件(如NODECHANGE)处理设备变更。该机制通过共享内存和中断实现高效通信,避免CPU轮询开销。后续文章将深入内核实现、Thunk层封装和多队列完成检测实战。 阅读详情

相关推荐

相机图像质量研究(15)常见问题总结:光学结构对成像的影响--暗角

老式相机的暗角往往比较明显,周围一圈能够明显感觉到亮度下降的很多,当然有些电源模仿手持相机的摄影效果,也能看到周围明显的亮度下降。一、

xiaoshixiu的专栏 1124

CodeForces 831 B.Keyboard Layouts(水~)

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

ZSQ 949

组态王|以一定的时间间隔查询某个时间段内的历史数据

使用该函数其他都可以满足,唯一问题是变量的选择,当切换站点后查询历史数据时,所选的变量依然是上次站点查询时所选择的变量,每当更换站点查询时都需要重新选择变量,这一点太繁琐,是用户和操作者无法忍受的。但是由于现场可能数据变化并非太过频繁,想要实现记录频率不变,还是以1分钟一次的频率进行存储,但是报表查询的时候想要只显示整点的数据。其中日历控件的设置与之前的历史数据查询是一样的,报表的抬头设置都是不用变的,此处不再赘述,有兴趣的可以。以上为组态王中以一定的时间间隔查询某个时间段内的历史数据的实现过程。

做有价值的事,积累有价值的笔记! 2544

CF Vicious Keyboard 构造水题

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

qq_33859479的博客 454

全桥LLC谐振变换器设计与双环控制策略详解

LLC谐振变换器作为高频开关电源的核心拓扑,通过谐振腔实现软开关特性,显著提升转换效率(可达96%以上)。其工作原理基于谐振电感、电容的协同作用,当开关频率接近谐振点时实现ZVS/ZCS。在工业电源、电动汽车充电等场景中,电压电流双环控制策略通过引入电流内环和竞争仲裁机制,有效改善动态响应(实测负载跳变时电压跌落减少60%)。数字控制实现时需注意ADC采样同步和PWM更新时序,而谐振参数测量与温升管理则是工程实践的关键。

weixin_29189987的博客 257

详解ReID的各部分组成及Trick——基于FastReID

这一系列博客将基于京东开源的FastReID进行扩充,详细介绍了ReID的各个组成部分,一些有用的Trick,评价指标,常用数据集等,详细内容见下方的链接,总结不易,如有理解不正确之处,麻烦各位批评指正。 一、FastReID的中的baseline文件配置 二、Training strategy 三、Pre-processing 四、Backbone 五、Aggregation 六、Head 七、Loss 八、Distance Metric 九、Post-processing 十、Evaluation 十一

藏晖的博客 9164

CF1765B Broken Keyboard 题解(改)

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

WSD3319_的博客 704

Simulink中Simscape—Fluids模块(原Simhydraulics)学习记录

学习来源:http://cn.mathworks.com/help/physmod/hydro/getting-started-with-simhydraulics.html 主要学习内容如下图: 详细内容: 1、组件来源 SIMULINK浏览器中的模块:Simscape_Foundation 和 Simscape_Fluids。 2、Simscape下包括多个子

1万+

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

飞行机械臂设计

其后对飞行机械臂系统的机 理模型和基于 ADAMS 的物理模型进行了控制系统的搭建,对于机理模 型,设计了三个输入通道,分别是俯仰力矩,翻滚力矩与偏航力矩,控 制量为翻滚角,俯仰角,偏航角。四旋翼无人机自身具有独特的优势,在无人机上增加机械臂,整个 机体系统相当于一架空中行动自如的空中机器人,可以适应更多的应用场合,能够实现空中抓取,运输载荷,巡航监视等任务。的函数模块如图 4-8 所示,可见输入为 U1,U2,U3,U4,分别对应总力矩,俯仰力矩,翻滚力矩,偏航力矩,控制 量为俯仰角,翻滚角,偏航角。

coldmood77的博客 2915

vue2学习笔记2-老规矩,从Hello World开始,了解Vue实例和模板

想要把“Hello,World”放置在页面上,首先需要准备一个HTML的块级元素div,来承接内容。

l_q_l的专栏 1258

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

openclaw 保姆级部署与核心玩法解析:国产DeepSeek模型 + 飞书

OpenClaw是一款功能强大的开源AI个人助理,支持全平台私有化部署,数据完全本地掌控。它不仅可通过聊天窗口直接操控电脑(安装软件、创建项目),还支持接入飞书等主流通讯工具,化身24小时在线的智能助理。本文提供了从零开始的详细部署教程,涵盖基础安装、模型配置(如GLM-4、DeepSeek)到飞书集成的完整实战指南,助你将这款“核动力”AI助手快速融入日常工作流。

甘蓝的专栏 2999

CF831B 【Keyboard Layouts】

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

weixin_30362801的博客 872

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

CF 271 A Keyboard B Worms C Captain Marmot

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

uuuuuu 861

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

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

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

MaJorieL 274

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

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、付费专栏及课程。

余额充值