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.rhkb.cn/news/292644.html

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

相关文章

2024.3.30学习笔记

今日学习韩顺平java0200_韩顺平Java_对象机制练习_哔哩哔哩_bilibili 今日学习p295-p314 super关键字 super代表父类的引用&#xff0c;用于访问父类的属性、方法、构造器 super细节和语法 访问父类的属性&#xff0c;但不能访问父类的private属性 super.属性名 访问父类的…

CubeIDE 下如何将版本号和日期关联。

1. 使用__DATE__ 和__TIME__获取编译日期和时间。 2. 将__DATE__ 和__TIME__转换成UINT 3. 将转换后的数赋值给版本号。 4. 设置工程保证每次都会重新编译对应文件。 对应函数如下&#xff1a; uint8_t VER_MAIN; uint8_t VER_SUB; uint8_t VER_MIN; #include <stdlib.…

蓝桥杯刷题第四天

思路&#xff1a; 这道题很容易即可发现就是简单的暴力即可完成题目&#xff0c;我们只需满足所有数的和为偶数即可保证有满足条件的分法&#xff0c;同时也不需要存下每个输入的数据&#xff0c;只需要知道他是偶数还是奇数即可&#xff0c;因为我们只需要偶数个奇数搭配在一块…

使用通用内部函数对代码进行矢量化

返回&#xff1a;OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇&#xff1a;OpenCV 如何使用 XML 和 YAML 文件的文件输入和输出 下一篇&#xff1a;OpenCV系列文章目录&#xff08;持续更新中......&#xff09; ​ 目标 本教程的目标是提供使用通用内…

[flask]请求全局钩子

flask从入门到精通之钩子、异常、context、jinjia模板、过滤器 - 异步非阻塞 - 博客园 (cnblogs.com) 参考的这个博客&#xff0c;但有一个需要注意的是&#xff0c;最新版本的flask不知道是不是更新了还是怎么了&#xff0c;他的before_first_request不见了&#xff0c;如果继…

《极客时间TonyBai go语言第一课》学习笔记

文章目录 前置篇显式组合 大纲 前置篇 显式 在 C 语言中&#xff0c;下面这段代码可以正常编译并输出正确结果&#xff1a; #include <stdio.h> int main() { short int a 5; int b 8; long c 0; c a b; printf("%ld\n", c); }我们看到在上面这段代码中…

【git】git使用手册

目录 一 初始化 1.1 账号配置 1.2 ssh生成 1.2.1 配置ssh 1.2.2 测试SSH 1.3 初始化本地仓库并关联远程仓库 二 使用 2.1 上传 2.2 拉取 三 问题 3.1 关联失败 一 初始化 git的安装很简单,下载后大部分进行下一步完成即可----->地址: git工具下载 1.1 账号配置…

UE4_碰撞_自定义碰撞检测通道

效果如图&#xff1a; 1、项目设置中新建追踪检测通道weapon&#xff0c;默认值为忽略。 2、新建几个actor作为枪&#xff0c;碰撞预设全部设为自定义&#xff0c;把新建的检测响应weapon设为阻挡。 3、角色进行射线检测 运行效果如下&#xff1a; 发现有些物体碰不到&#xff…

算法系列--动态规划--背包问题(4)--完全背包拓展题目

&#x1f495;"这种低水平质量的攻击根本就不值得我躲&#xff01;"&#x1f495; 作者&#xff1a;Lvzi 文章主要内容&#xff1a;算法系列–动态规划–背包问题(4)–完全背包拓展题目 大家好,今天为大家带来的是算法系列--动态规划--背包问题(4)--完全背包拓展题目…

Linux 常见性能分析方法论介绍(业务负载画像、下钻分析、USE方法论,检查清单)

写在前面 博文内容为 《BPF Performance Tools》 读书笔记整理内容涉及常用的性能调优方法论介绍&#xff1a;业务负载画像下钻分析USE方法论检查清单理解不足小伙伴帮忙指正 不必太纠结于当下&#xff0c;也不必太忧虑未来&#xff0c;当你经历过一些事情的时候&#xff0c;眼…

时序预测 | Matlab实现OOA-BP鱼鹰算法优化BP神经网络时间序列预测

时序预测 | Matlab实现OOA-BP鱼鹰算法优化BP神经网络时间序列预测 目录 时序预测 | Matlab实现OOA-BP鱼鹰算法优化BP神经网络时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现OOA-BP鱼鹰算法优化BP神经网络时间序列预测&#xff08;完整源码和数据…

Github profile Readme实现小游戏[github自述游戏]

Github profile Readme常用于个人主页介绍&#xff0c;将它与action自动化流程结合&#xff0c;可以实现一些小游戏 例如&#xff1a;2048、五子棋 2048实现 losehu (RUBO) GitHub 五子棋 https://github.com/losehu/losehu/tree/main 通过python/C编写可执行文件&#xf…

相机标定学习记录

相机标定是计算机视觉和机器视觉领域中的一项基本技术&#xff0c;它的主要目的是通过获取相机的内部参数&#xff08;内参&#xff09;和外部参数&#xff08;外参&#xff09;&#xff0c;以及镜头畸变参数&#xff0c;建立起现实世界中的点与相机成像平面上对应像素点之间准…

[linux初阶][vim-gcc-gdb] TwoCharter: gcc编译器

目录 一.Linux中gcc编译器的下载与安装 二.使用gcc编译器来翻译 C语言程序 ①.编写C语言代码 ②翻译C语言代码 a.预处理 b.编译 c.汇编 d.链接 ③.执行Main 二进制可执行程序(.exe文件) 三.总结 一.Linux中gcc编译器的下载与安装 使用yum命令(相当于手机上的应用…

2024年AI大模型基础设施栈市场地图

2024年大模型(LLM)基础架构的组件和工具,最近看到国外的一篇深度分析,技术负责人可以重点关注:附带图谱: 一、现代LLM基础设施栈定义 根据Menlo Ventures的数据,2023年企业在现代AI基础设施栈上的支出超过11亿美元,成为生成式AI中最大的新市场,为初创企业提供了巨大的…

Spring Web MVC的入门学习(一)

目录 一、什么是 Spring Web MVC 1、MVC 定义 二、学习Spring MVC 1、项目准备 2、建立连接 2.1 RequestMapping 注解的学习 2.2 RequestMapping 使用 3、请求 3.1 传递单个参数 3.2 传递多个参数 3.3 传递对象 3.4 后端参数重命名&#xff08;后端参数映射&#xf…

Cortex-A7 常用汇编指令

一、处理器内部数据传输指令 使用处理器做的最多事情就是在处理器内部来回的传递数据&#xff0c;常见的操作有&#xff1a; ①、将数据从一个寄存器传递到另外一个寄存器。 ②、将数据从一个寄存器传递到特殊寄存器&#xff0c;如 CPSR 和 SPSR 寄存器。 ③、将立即数传递到寄…

暴力破解pdf文档密码

首先安装pdfcrack工具包 apt install pdfcrack 默认密码字典存储在/usr/share/wordlists里&#xff0c;是gz文件&#xff0c;将它解压并copy到pdf目录 然后使用pdfcrack破解 密码在最后一行user-password的单引号里

深入理解计算机系统 家庭作业 2.62

#include <stdio.h> int int_shifts_are_arithmetic(); int main(void) { printf("%d",int_shifts_are_arithmetic()); } int int_shifts_are_arithmetic() { return!(~(-1>>(sizeof(int)))); }

黄金票据制作-新手向

黄金票据制作 文章目录 黄金票据制作0x01 前言0x02 黄金票据的制作一、靶场搭建二、收集制作信息获取域名称获取域SID值获取域用户krbtgt密码hash值 二、制作票据 0x03 验证票据有效性 0x01 前言 最近&#xff0c;我学习了内网渗透的相关知识&#xff0c;其中包括了黄金票据的…