2024/2/22

P8680 [蓝桥杯 2019 省 B] 特别数的和

题目描述

小明对数位中含有 2、0、1、9 的数字很感兴趣(不包括前导 00),在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共28 个,他们的和是574。

请问,在 1 到 n 中,所有这样的数的和是多少?

输入格式

输入一行包含一个整数 �n。

输出格式

输出一行,包含一个整数,表示满足条件的数的和。

将输入的数按照不同的位数进行分类,然后将他们的每一项数位提取出来进行判断

如果符合条件则累加

#include<bits/stdc++.h>
using namespace std;
int a[6];
int main()
{int sum=0;int n;cin>>n;for(int i=1;i<=n;i++){a[1]=i%10;//个位a[2]=i/10%10;//十位a[3]=i/100%10;//百位a[4]=i/1000%10;//千位a[5]=i/10000%10;//万位if(i<10){if(i==2||i==1||i==9){sum+=i;}}if(i>=10&&i<100){for(int j=1;j<3;j++){if(a[j]==2||a[j]==1||a[j]==9||a[j]==0){sum+=i;break;}}}if(i>=100&&i<1000){for(int j=1;j<4;j++){if(a[j]==2||a[j]==1||a[j]==9||a[j]==0){sum+=i;break;}}}if(i>=1000&&i<10000){for(int j=1;j<5;j++){if(a[j]==2||a[j]==1||a[j]==9||a[j]==0){sum+=i;break;}}}}cout<<sum;return 0;
}

L-shapes

题目描述

An L-shape is a figure on gridded paper that looks like the first four pictures below. An L-shape contains exactly three shaded cells (denoted by *), which can be rotated in any way.

You are given a rectangular grid. Determine if it contains L-shapes only, where L-shapes can't touch an edge or corner. More formally:

  • Each shaded cell in the grid is part of exactly one L-shape, and
  • no two L-shapes are adjacent by edge or corner.

For example, the last two grids in the picture above do not satisfy the condition because the two L-shapes touch by corner and edge, respectively.

输入格式

The input consists of multiple test cases. The first line contains an integer t(1≤t≤100 ) — the number of test cases. The description of the test cases follows.

The first line of each test case contains two integers n and m ( 1≤n,m≤50 ) — the number of rows and columns in the grid, respectively.

Then n lines follow, each containing m characters. Each of these characters is either '.' or '*' — an empty cell or a shaded cell, respectively.

输出格式

For each test case, output "YES" if the grid is made up of L-shape that don't share edges or corners, and "NO" otherwise.

You can output the answer in any case (for example, the strings "yEs", "yes", "Yes" and "YES" will be recognized as a positive answer).

题意翻译

L形在网格纸上形如下面的前四张图片。L形正好包含三个阴影单元(用*表示),可以以任何方式旋转。

现给你一个矩形网格。确定它是否仅包含L形,其中L形不能接触边或角,也就是说网格中的每个阴影单元正好是一个L形的一部分,并且没有两个L形通过边或角相邻。

例如,上图中的最后两个网格不满足条件,因为两个L形分别通过角和边缘接触。

如果网格满足条件,则输出“YES”,否则输出“NO”。

遍历,当扫到*的时候,将其标记为1,遍历到1时对周围进行扫描,符合条件则将L型都变为0

最后再扫描时如果还扫到1则输出NO,否则输出YES

#include<bits/stdc++.h>
using namespace std;
int a[55][55],n,m,t;
char s;
void find(int i,int j)
{if(a[i+1][j]&&a[i+1][j+1]&&!a[i-1][j-1]&&!a[i-1][j]&&!a[i-1][j+1]&&!a[i][j-1]&&!a[i][j+1]&&!a[i][j+2]&&!a[i+1][j-1]&&!a[i+1][j+2]&&!a[i+2][j-1]&&!a[i+2][j]&&!a[i+2][j+1]&&!a[i+2][j+2]){a[i][j]=a[i+1][j]=a[i+1][j+1]=0;return ;}if(a[i+1][j-1]&&a[i+1][j]&&!a[i-1][j-1]&&!a[i-1][j]&&!a[i-1][j+1]&&!a[i][j-2]&&!a[i][j-1]&&!a[i][j+1]&&!a[i+1][j-2]&&!a[i+1][j+1]&&!a[i+2][j-2]&&!a[i+2][j-1]&&!a[i+2][j]&&!a[i+2][j+1]){a[i][j]=a[i+1][j-1]=a[i+1][j]=0;return ;}if(a[i][j+1]&&a[i+1][j+1]&&!a[i-1][j-1]&&!a[i-1][j]&&!a[i-1][j+1]&&!a[i-1][j+2]&&!a[i][j-1]&&!a[i][j+2]&&!a[i+1][j-1]&&!a[i+1][j]&&!a[i+1][j+2]&&!a[i+2][j]&&!a[i+2][j+1]&&!a[i+2][j+2]){a[i][j]=a[i][j+1]=a[i+1][j+1]=0;return ;}if(a[i][j+1]&&a[i+1][j]&&!a[i-1][j-1]&&!a[i-1][j]&&!a[i-1][j+1]&&!a[i-1][j+2]&&!a[i][j-1]&&!a[i][j+2]&&!a[i+1][j-1]&&!a[i+1][j+1]&&!a[i+1][j+2]&&!a[i+2][j-1]&&!a[i+2][j]&&!a[i+2][j+1]){a[i][j]=a[i][j+1]=a[i+1][j]=0;return ;}
}
int main()
{cin>>t;for(int k=1;k<=t;k++){memset(a,0,sizeof(a));bool possible = true;cin>>n>>m;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){cin>>s;if(s=='*')a[i][j]=1;}}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(a[i][j]==1)find(i,j);}}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(a[i][j]==1){possible=false;break ;}}if (!possible) break;}if (possible) {cout << "YES\n";} else {cout << "NO\n";}}return 0;
}

P1258 小车问题

题目描述

甲、乙两人同时从 A 地出发要尽快同时赶到 B 地。出发时 A 地有一辆小车,可是这辆小车除了驾驶员外只能带一人。已知甲、乙两人的步行速度一样,且小于车的速度。问:怎样利用小车才能使两人尽快同时到达。

输入格式

仅一行,三个实数,分别表示 AB 两地的距离 s,人的步行速度 a,车的速度 b。

输出格式

两人同时到达 B 地需要的最短时间,保留 6 位小数。

列方程x/a=(s-2x+s-x)/b

解得时间=x/a+(s-x)/b

#include<bits/stdc++.h>
using namespace std;
int main()
{double a,b,s,x;cin>>s>>a>>b;double t;x=(2*a*s)/(3*a+b);t=x/a+(s-x)/b;cout<<fixed<<setprecision(6)<<t;
}

P10050 [CCO2022] Alternating Heights

题目描述

Troy 计划给 CCO 的学生拍一张合影,他向你寻求帮助。

有 K 个学生,编号从 1 到 K。Troy 忘记了学生的身高,但他记得没有两个学生的身高相同。

Troy 有一个序列 1,2,…,A1​,A2​,…,AN​,表示合影中从左到右的学生顺序。一个学生可能在 A 中出现多次。你不确定这张合影会怎么拍,但你不愿意认为 Troy 犯了错误。

Troy 会给你 Q 个形式为 x,y 的询问,每个询问为「给定学生序列 Ax​,Ax+1​,…,Ay​,他们的身高能否形成一个交替序列?」更具体地说,我们用 hi​ 表示第 i 个学生的身高。如果存在一种身高分配h1​,h2​,…,hK​,使得 hAx​​>hAx+1​​<hAx+2​​>hAx+3​​<…hAy​​,回答 YES;否则回答 NO

注意,每个查询都是独立的:也就是说,询问 i 的身高分配与询问 j 的身高分配无关(i!=j)。

输入格式

第一行包含三个用空格分隔的整数 N,K 和 Q。

第二行包含 N 个整数,表示 1,2,…)A1​,A2​,…,AN​(1≤Ai​≤K)。

接下来的 Q 行,每行包含两个用空格分隔的整数 x 和 (1≤x<y≤N),表示一组查询。

输出格式

输出 Q 行。第 i 行,输出 YES 或者 NO,表示 Troy 的第 i 个查询的答案。

每次进行二分查找,将中间值和左端点进行拓扑排序

如果出现环则说明矛盾,输出NO

#include<bits/stdc++.h>
using namespace std;
int n,m,t,x,y,a[10005],f[10005];
int d[3005][3005],top[3005],in[3005];
queue<int> q;
bool check(int l,int r)
{memset(in,0,sizeof(in));memset(top,0,sizeof(top));for(int i=l+1;i<=r;i+=2){if(i-1>0) d[a[i]][++top[a[i]]]=a[i-1],in[a[i-1]]++;if(i+1<=r) d[a[i]][++top[a[i]]]=a[i+1],in[a[i+1]]++;}while(!q.empty()) q.pop();for(int i=1;i<=m;i++){if(!in[i]){q.push(i);}}int sum=0;while(!q.empty()){int p=q.front();q.pop();sum++;for(int i=1;i<=top[p];i++){in[d[p][i]]--;if(!in[d[p][i]])q.push(d[p][i]);}}return sum==m;
}
int F(int k)
{int l=k,r=n,mid,p=0;while(l<=r){mid=(l+r)/2;if(check(k,mid))p=max(p,mid),l=mid+1;elser=mid-1;}return p;
}
int main()
{cin>>n>>m>>t;for(int i=1;i<=n;i++)cin>>a[i];for(int i=1;i<=n;i++)f[i]=F(i);for(int i=1;i<=t;i++){cin>>x>>y;if(y<=f[x]){cout<<"YES"<<endl;}else{cout<<"NO"<<endl;}}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/696554.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【2024软件测试面试必会技能】

Unittest(5)&#xff1a;unittest_忽略用例 忽略用例 在执行测试脚本的时候&#xff0c;可能会有某几条用例本次不想执行&#xff0c;但又不想删也 不想注释&#xff0c;unittest通过忽略部分测试用例不执行的方式&#xff0c;分无条件忽略和有条 件忽略,通过装饰器实现所描述…

Vue3+vite搭建基础架构(11)--- 菜单栏功能和Tab页功能实现

Vue3vite搭建基础架构&#xff08;11&#xff09;--- 菜单栏功能和Tab页功能实现 说明删除项目中不需要的文件userStore全局属性代码菜单栏代码Tab页代码解决浏览器输入地址时不会打开tab页问题和切换tab页时参数丢失问题 说明 这里记录下自己在Vue3vite的项目使用less来写样式…

统信UOS_麒麟KYLINOS上监控网络:探索Smokeping的强大功能

原文链接&#xff1a;统信UOS|麒麟KYLINOS上监控网络&#xff1a;探索Smokeping的强大功能 在当今的网络环境中&#xff0c;无论是个人用户还是企业用户&#xff0c;都非常重视网络的稳定性和连通性。特别是在进行远程工作、在线会议、云计算等活动时&#xff0c;网络质量直接影…

程序员必备技能----删库跑路大总结

删库跑路大总结&#xff0c;各个都是大杀器&#xff0c;破坏性太大&#xff0c;轻易不要尝试。 删除linux根目录&#xff0c;用户目录&#xff0c;其实还可以增加一个删除/etc。删除&#xff08;清除&#xff09;数据库。删除redis缓存和持久化文件。删除mongodb库。git push …

说一说Eclipse的项目类型和常用项目的区别

Eclipse在新建项目的时候有很多类型&#xff0c;包括Java project、Web project等等&#xff0c;如下&#xff1a; 那么这些项目类型有什么区别呢&#xff1f;我们在创建项目的时候应该如何选择&#xff0c;了解清楚这一点还是非常重要的&#xff0c;但记住一个出发点&#xff…

2.22 day3、4 QT

完善对话框&#xff0c;点击登录对话框&#xff0c;如果账号和密码匹配&#xff0c;则弹出信息对话框&#xff0c;给出提示"登录成功”&#xff0c;提供一个Ok按钮&#xff0c;用户点击Ok后&#xff0c;关闭登录界面&#xff0c;跳转到其他界面 如果账号和密码不匹配&…

【论文解读】Uncertainty Quantification of Collaborative Detection for Self-Driving

Uncertainty Quantification of Collaborative Detection for Self-Driving 摘要引言方法问题定义方法概览Double-M 实验结论 摘要 在联网和自动驾驶汽车(CAVs)之间共享信息从根本上提高了自动驾驶协同目标检测的性能。然而&#xff0c;由于实际挑战&#xff0c;CAV 在目标检测…

十九、图像的放缩和插值

项目功能实现&#xff1a;对一张图像进行放大和缩小操作 按照之前的博文结构来&#xff0c;这里就不在赘述了 一、头文件 resizing.h #pragma once#include<opencv2/opencv.hpp>using namespace cv;class RESIZING { public:void resizing(Mat& image); };#pragma…

解决Edge浏览器,微博无法查看大图(Edge Image Viewer)

使用Edge浏览器浏览微博或其它带校验的图片时&#xff0c;会导致无法查看。 主要原因为Edge自带了一个Edge Image Viewer, 但是该图片查看器无法查看带校验数据的图片&#xff0c;所以导致查看时一片空白。 解决方法 地址栏输入 edge://flags/搜索 Edge Image Viewer选择 Disa…

HTML5 Canvas 限定文本区域大小,文字自动换行,自动缩放

<!DOCTYPE html> <html> <body><h1>HTML5 Canvas 限定文本展示范围、自动计算缩放字体大小</h1><div id"tips">0</div> <div id"content">良田千顷不过一日三餐广厦万间只睡卧榻三尺良田千顷不过一日三餐…

【GStreamer】GstElement详解:GStreamer 中最重要的对象

1、什么是元素GstElement? 每个解码器、编码器、解复用器、视频或音频输出实际上都是一个GstElement。GstElement可以视为一个黑盒子:例如,对于解码器元素,输入为已编码数据,输出为解码后的数据,解码过程已由GstElement封装好。 2、都有哪些元素GstElement? 2.1 源点…

概率基础——几何分布

概率基础——几何分布 介绍 在统计学中&#xff0c;几何分布是描述了在一系列独立同分布的伯努利试验中&#xff0c;第一次成功所需的试验次数的概率分布。在连续抛掷硬币的试验中&#xff0c;每次抛掷结果为正面向上的概率为 p p p&#xff0c;反面向上的概率为 1 − p 1-p …

RM电控讲义【HAL库篇】

这段代码中do while的作用&#xff1a; 宏定义中的语句块&#xff1a;do { ... } while (0) 允许你在宏定义中创建一个语句块&#xff0c;从而可以包含多条语句。这在宏定义中特别有用&#xff0c;因为宏只是简单的文本替换&#xff0c;不像函数那样有作用域和返回类型。因此&…

WordPress后台自定义登录和管理页面插件Admin Customizer

WordPress默认的后台登录页面和管理员&#xff0c;很多站长都想去掉或修改一些自己不喜欢的功能&#xff0c;比如登录页和管理页的主题样式、后台左侧菜单栏的某些菜单、仪表盘的一些功能、后台页眉页脚某些小细节等等。这里boke112百科推荐这款可以让我们轻松自定义后台登录页…

2.20日学习打卡----初学Vue3

2.20日学习打卡 目录: 2.20日学习打卡Vue是什么&#xff1f;安装vue模板语法条件渲染列表渲染事件处理表单输入绑定组件基础Props组件交互自定义事件组件交互组件生命周期Vue引入第三方Axios网络请求Axios网络请求封装网络请求跨域解决方案路由配置路由传递参数嵌套路由配置Vue…

js设计模式:单例模式

作用: 保证一个类只有一个实例,并且提供一个全局的访问位置。 可以用来实现全局的一些状态管理或者独一无二的数据 示例: class Wjt{constructor(name,idNumber,gender){this.name namethis.idNumber idNumberthis.gender gender}//可以直接使用Wjt调用的静态方法static …

性能测试概述

1.性能测试介绍 好处: 有效的性能测试能给研发、运维团队提供有效的容量规划能力、系统风险识别、系统瓶颈识别、性能调优指导,保障尽量避免这些问题的发生。 例如: 假设:以下场景,不可用10分钟,带来的经济损失 天猫双十一峰值处理订单58.3万笔每秒 京东金融618战报…

C#,入门教程(29)——修饰词静态(static)的用法详解

上一篇&#xff1a; C#&#xff0c;入门教程(28)——文件夹&#xff08;目录&#xff09;、文件读&#xff08;Read&#xff09;与写&#xff08;Write&#xff09;的基础知识https://blog.csdn.net/beijinghorn/article/details/124231282 static 是编程高频词之一。 读了一…

【鸿蒙 HarmonyOS 4.0】数据持久化

一、数据持久化介绍 数据持久化是将内存数据(内存是临时的存储空间)&#xff0c;通过文件或数据库的形式保存在设备中。 HarmonyOS提供两种数据持久化方案&#xff1a; 1.1、用户首选项&#xff08;Preferences&#xff09;&#xff1a; 通常用于保存应用的配置信息。数据通…

Vue 进阶系列丨实现简易reactive和ref

Vue 进阶系列教程将在本号持续发布&#xff0c;一起查漏补缺学个痛快&#xff01;若您有遇到其它相关问题&#xff0c;非常欢迎在评论中留言讨论&#xff0c;达到帮助更多人的目的。若感本文对您有所帮助请点个赞吧&#xff01; 2013年7月28日&#xff0c;尤雨溪第一次在 GItHu…