24年大一训练一(东北林业大学)

前言:

  周五晚上的训练赛,以后应该每两周都会有一次。

正文:

  Problem:A矩阵翻转:

#include<bits/stdc++.h>
using namespace std;
int a[55][55];
int main(){int n,m;while(cin>>n>>m){for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){cin>>a[i][j];}}for(int j=1;j<=m;j++){for(int i=n;i>=1;i--){cout<<a[i][j]<<" ";}cout<<endl;}cout<<endl;}return 0;
} 

用二维数组模拟矩阵。

Problem:B守夜人的游戏:

#include<bits/stdc++.h>
using namespace std;
int a[25];
int main(){int n;while(cin>>n){long long ans=0;for(int i=1;i<=n;i++)cin>>a[i];for(int i=1;i<=n;i++){long long x=a[i];ans=max(x,ans);for(int j=i+1;j<=n;j++){x*=a[j];ans=max(x,ans);}}cout<<ans<<endl;}
}

暴力即可,注意答案要开long long不然会暴int。

Problem:C野人来袭:

#include<bits/stdc++.h>
using namespace std;
const int N=1e6;
int a[N],book[N];
int main(){long long n;while(cin>>n){\memset(book,0,sizeof(book));int ans=0;for(int i=1;i<=n;i++){cin>>a[i];}for(int i=1;i<=n;i++){int s=0;if(book[i]==0){book[i]=1;s=a[i];ans++;for(int j=i+1;j<=n;j++){if(book[j]==0&&s>=a[j]){book[j]=1;s=a[j];}}}}cout<<ans<<endl;}return 0;
}

写这道题前我们先要搞清这道题的意思。题目中的拦截装置的高度在来拦截投来的武器后会变为这个武器高度(开始相当于无穷大),那么这个装置就无法再拦截更高的武器了,我们就需要第二个拦截装置,以此类推,我们就可以计算出装置的数量。又由装置的先后性我们可以知道所有武器中能被第一个装置拦截那么就一定不会被第二个装置拦截。那么我们先假设有n个装置,先对第一个装置分析,从第一个未拦截的武器开始,标记他可以依次序的拦截下武器(遍历数组找一串递减数列),再从第二个装置分析,从第一次标记后第一个未标记的武器开始,继续下去直至所有武器都被标记,这样就找出了答案。

Problem:D机器人:

#include<bits/stdc++.h>
using namespace std;
typedef struct num{int t,r;	
}robot;
robot a[30];
bool cmp(robot j,robot k){return j.r<=k.r;
}
int rev(int x){int d[10];int ans=0;int p=1;while(x){d[p]=x%10;x/=10;p++;}for(int i=p-1;i>=1;i--){ans+=d[i]*pow(10,p-i-1);}return ans;
}
int main(){int n;while(cin>>n){for(int i=1;i<=n;i++){cin>>a[i].t;a[i].r=rev(a[i].t);}sort(a+1,a+n+1,cmp);for(int i=1;i<=n;i++){cout<<a[i].t;if(i!=n)cout<<" ";}cout<<endl;}return 0;
}

写一个反转数字的函数,在定义一个由数和它的反转数构成的结构体,写一个比较函数,排序后输出即可。

Problem:F美丽的黄山:

#include<bits/stdc++.h>
using namespace std;
int main(){int n,a[100000],ans=0,max;cin>>n;for(int i=1;i<=n;i++){cin>>a[i];}for(int i=1;i<=n;i++){if(i==1){max=a[i];ans++;}else{if(max<a[i]){max=a[i];ans++;}}}cout<<ans;return 0;
}

之前写过的题,见2023年林大(东北林业大学)ACM校赛大一组 个人题解(已完成)_python程序设计与问题求解东北林业大学-CSDN博客

Problem:E点的运动:

#include<bits/stdc++.h>
using namespace std;
int main(){int n;cin>>n;while(n--){double x1,x2,y1,y2,x0,y0,vx,vy,t,ti,tj,tk,tl;cin>>x1>>y1>>x2>>y2>>x0>>y0>>vx>>vy>>t;//一般情况 if(vx!=0&&vy!=0){ti=(x1-x0)/vx,tj=(x2-x0)/vx,tk=(y1-y0)/vy,tl=(y2-y0)/vy;//无论t取何值都无法经过 if(max(ti,tj)<min(tk,tl)||max(tk,tl)<min(ti,tj)){cout<<"NO"<<endl;continue;}//存在t值使它能经过int flag=0;if(y0+vy*ti<=y1&&y0+vy*ti>=y2&&ti>=0&&ti<=t)flag=1;if(y0+vy*tj<=y1&&y0+vy*tj>=y2&&tj>=0&&tj<=t)flag=1;if(x0+vx*tk<=x2&&x0+vx*tk>=x1&&tk>=0&&tk<=t)flag=1;if(x0+vx*tl<=x2&&x0+vx*tl>=x1&&tl>=0&&tl<=t)flag=1;if(flag){cout<<"YES"<<endl;continue;}else{cout<<"NO"<<endl;continue;}}//特判vx与vy都为0的情况 if(vx==0&&vy==0){if((x0==x1||x0==x2)&&y0>=y2&&y0<=y1){cout<<"YES"<<endl;continue;}else if((y0==y1||y0==y2)&&x0>=x1&&x0<=x2){cout<<"YES"<<endl;continue;}else{cout<<"NO"<<endl;continue;}}//分别判断vx=0与vy=0的情况 if(vx==0){if(x0<x1||x0>x2){cout<<"NO"<<endl;continue;}else{tk=(y1-y0)/vy,tl=(y2-y0)/vy;if(min(tk,tl)>=0&&min(tk,tl)<=t){cout<<"YES"<<endl;continue;}else{cout<<"NO"<<endl;continue;}}}if(vy==0){if(y0<y2||y0>y1){cout<<"NO"<<endl;continue;}else{ti=(x1-x0)/vx,tj=(x2-x0)/vx;if(min(ti,tj)>=0&&min(ti,tj)<=t){cout<<"YES"<<endl;continue;}else{cout<<"NO"<<endl;continue;}}}}return 0;
}

重量级选手,这题需要用到一些平面几何的知识。见下

对于一个点来说,如果他前进方向上的直线经过i,j,k,l这四条直线的次序是横横竖竖或竖竖横横(i,j为竖,k,l为横),那么这条直线永远无法经过这个矩形(可以自己画图试一下),那么我们就可以从起点开始,计算出到达i,j,k,l的时间,判断i,j,k,l经过的次序。剩下的情况就需要根据t的大小来判断经过矩形的时间是否合法。注意要特判vx=0或vy=0以及都为0的情况。

后记:

  欢迎大家来讨论、相互学习。

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

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

相关文章

Mysql数据库:故障分析与配置优化

目录 前言 一、Mysql逻辑架构图 二、Mysql单实例常见故障 1、无法通过套接字连接到本地MySQL服务器 2、用户rootlocalhost访问被拒绝 3、远程连接数据库时连接很慢 4、无法打开以MYI结尾的索引文件 5、超出最大连接错误数量限制 6、连接过多 7、配置文件/etc/my.cnf权…

PDF转成二维码分享

在制作电子产品册之前&#xff0c;你需要思考以下几个问题&#xff1a;你的电子产品册是面向什么人群的&#xff1f;是宣传册、使用手册还是产品介绍册&#xff1f;明确目标与定位有助于我们更好地规划产品册的内容和风格。 一、收集素材与整理信息 在开始制作之前&#xff0c…

latex学习笔记

一 安装latex&#xff08;vscodetexlive&#xff09; 安装latex学习链接&#xff1a; 【超详细】最好用LaTex环境安装配置手把手教学&#xff01;&#xff01;&#xff08;支持双向搜索&#xff0c;附赠所需安装包及竞赛模板&#xff09;_哔哩哔哩_bilibilihttps://www.bilib…

KeepAlived使用介绍

目录 1、Introduce 2、基本使用 &#xff08;1&#xff09;安装 &#xff08;2&#xff09;配置文件 &#xff08;3&#xff09;使用教程 1、Introduce keepalived是一个用于实现高可用性和负载均衡的开源软件。它提供了一种轻量级的方式来管理多个服务器&#xff0c;并确保…

高效解决Ubuntu Server 18.04.1 LTS 64bit更新gdb8.1.1到gdb12.1

文章目录 问题解决步骤 问题 因为需要用到gdb一些指令&#xff0c;但是gdb8.x好像存在普遍的问题&#xff0c;实现不了某些指令&#xff0c;比方说set detach-on-fork on&#xff0c;升级版本也没有比较好的教程 经过我不断的试错&#xff0c;我终于升级成功了&#xff01;&a…

【学习笔记】java项目—苍穹外卖day02

文章目录 苍穹外卖-day02课程内容1. 新增员工1.1 需求分析和设计1.1.1 产品原型1.1.2 接口设计1.1.3 表设计 1.2 代码开发1.2.1 设计DTO类1.2.2 Controller层1.2.3 Service层接口1.2.4 Service层实现类1.2.5 Mapper层 1.3 功能测试1.3.1 接口文档测试1.3.2 前后端联调测试 1.4 …

[C++11]可变参数模板

导览&#xff1a; 本章将从可变参数模板的概念开始讲起&#xff0c;到其究竟是如何做到实例化的再从实例出发&#xff0c;探究该如何编写可变参数模板最后涉及可变参数模板的运用 什么是可变参数模板 让我们先见一下可变参数模板 template<typename ...Args> void te…

【SpringCloud】一文详谈Nacos

&#x1f3e1;浩泽学编程&#xff1a;个人主页 &#x1f525; 推荐专栏&#xff1a;《深入浅出SpringBoot》《java对AI的调用开发》 《RabbitMQ》《Spring》《SpringMVC》《项目实战》 &#x1f6f8;学无止境&#xff0c;不骄不躁&#xff0c;知行合一 文章目录 …

Linux之用户账号、用户组和与账号有关的系统文件

目录 一、基本介绍 1.用户和用户组 2.UID和GID 二、 账户管理 1.查看用户的UID和GID 2.添加账户 3.删除账号 4.修改账号 5.账户口令 三、分组管理 1.新增用户组 2.删除用户组 3.修改用户组 4.用户组切换 四、与账号有关的系统文件 1./etc/passwd 2./etc/shado…

李宏毅深度强化学习导论——当奖励是稀疏的

引言 这是李宏毅强化学习的笔记&#xff0c;主要介绍如何处理稀疏奖励问题。 稀疏奖励 当我们拿Actor和环境互动后可以得到很多奖励&#xff0c;整理之后可以得到分数 A A A&#xff0c;然后可以训练Actor。 但RL中有时会出现多数情况下奖励为零&#xff0c;此时我们不知道动…

行存储与列存储:大数据存储方案的选择与优缺点分析

随着大数据时代的来临&#xff0c;数据的规模和复杂性呈指数级增长&#xff0c;传统的关系数据库已经不再适应这一巨大的存储量和计算要求。在大数据存储领域&#xff0c;行存储和列存储成为两种备受关注的存储方案。本文将探讨行存储和列存储的定义、优缺点&#xff0c;并结合…

第十四届省赛大学B组(C/C++)岛屿个数

目录 题目链接&#xff1a;岛屿个数 解题思路&#xff1a; AC代码&#xff08;BFSDFS&#xff09;&#xff1a; 题目链接&#xff1a;岛屿个数 小蓝得到了一副大小为 MN 的格子地图&#xff0c;可以将其视作一个只包含字符 0&#xff08;代表海水&#xff09;和 1&#xff0…

LeetCode-331. 验证二叉树的前序序列化【栈 树 字符串 二叉树】

LeetCode-331. 验证二叉树的前序序列化【栈 树 字符串 二叉树】 题目描述&#xff1a;解题思路一&#xff1a;看提示主要是栈和树。这题其实不是二叉树的遍历题&#xff0c;而是检验二叉树基础知识的题&#xff0c;也许有些难想。第一种解法是&#xff1a;把有效的叶子节点使用…

【DETR系列目标检测算法代码精讲】01 DETR算法03 Dataloader代码精讲

与一般的Dataloader的区别在于我们对图像进行了随机裁剪&#xff0c;需要进行额外的操作才能将其打包到dataloader里面 这一段的代码如下&#xff1a; if args.distributed:sampler_train DistributedSampler(dataset_train)sampler_val DistributedSampler(dataset_val, shu…

Python 自学(九) 之异常处理,文件及目录操作

目录 1. try ... except ... else ... finally 排列 P231 2. write, read, seek, readline, readlines 基本文件操作 P245 3. os模块 基本目录操作 P249 4. os.path 模块 复杂目录操作 P250 5. os 模块 高…

Spring之循环依赖

什么是循环依赖? 依赖的相互引用,如下列的这种形式 Component public class A {Autowiredprivate B b;}Component public class B {Autowiredprivate A a; } Spring是如何解决循环依赖的 Spring是通过三级缓存来解决循环依赖 singletonObjects : 单例bean,已经实例化,完成…

牛客2024年愚人节比赛(A-K)

比赛链接 毕竟是娱乐场&#xff0c;放平心态打吧。。。 只有A一个考了数学期望&#xff0c;其他的基本都是acmer特有的脑筋急转弯&#xff0c;看个乐呵即可。 A 我是欧皇&#xff0c;赚到盆满钵满&#xff01; 思路&#xff1a; 我们有 p 1 p_1 p1​ 的概率直接拿到一件实…

Redis改造原始代码

基础篇Redis 5.2.2.改造原始代码 代码说明: 1.在我们完成了使用工厂设计模式来完成代码的编写之后&#xff0c;我们在获得连接时&#xff0c;就可以通过工厂来获得。 &#xff0c;而不用直接去new对象&#xff0c;降低耦合&#xff0c;并且使用的还是连接池对象。 2.当我们…

FreeROST作业day2

1.总结串口的发送和接收功能使用到的函数 串口发送数据函数&#xff1a; HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Size, uint32_t Timeout); UART_Handle…

【LeetCode】热题100:排序链表

题目&#xff1a; 给你链表的头结点 head &#xff0c;请将其按 升序 排列并返回 排序后的链表 。 示例 1&#xff1a; 输入&#xff1a;head [4,2,1,3] 输出&#xff1a;[1,2,3,4] 示例 2&#xff1a; 输入&#xff1a;head [-1,5,3,4,0] 输出&#xff1a;[-1,0,3,4,5] …