OJ刷题——2080.夹角有多大II和2082.找单词、2085.核反应堆

2080.夹角有多大II

题目描述

Problem - 2080

运行代码

#include <iostream>
#include <math.h>
using namespace std;
int main() {int T;double x1, y1, x2, y2;double res;scanf_s("%d", &T);while (T--) {scanf_s("%lf%lf%lf%lf", &x1, &y1, &x2, &y2);//利用向量的夹角公式,并且用acos(-1)代替π res = (x1 * x2 + y1 * y2) / (sqrt(x1 * x1 + y1 * y1) * sqrt(x2 * x2 + y2 * y2));printf("%.2lf\n", acos(res) * 180 / acos(-1));}
}

代码思路

  • #include <iostream>:包含标准输入输出流头文件,用于输入输出操作。
  • #include <math.h>:用于使用数学相关的函数,如sqrt(开平方根)等。

main函数中:

  • int T:表示测试用例的数量。通过scanf_s读取测试用例的数量T。然后在循环中,对于每个测试用例:
    • scanf_s读取两个点的坐标x1y1x2y2
    • 利用向量的点积公式计算出两个向量的点积除以两个向量模长的乘积,得到余弦值res。这里使用了数学公式来计算向量的相关信息。
    • 最后通过acos(res)得到角度(弧度制),再将其转换为角度制并保留两位小数输出,通过acos(-1)来表示圆周率。

2082.找单词

题目描述

Problem - 2082

运行代码

#include <iostream>  
#include <cstring>
#include <algorithm> 
using namespace std;
int le[27], n1[51], n2[51]; 
void GF() {memset(n1, 0, sizeof(n1));memset(n2, 0, sizeof(n2));n1[0] = 1;  for (int i = 1; i <= 26; ++i) {for (int j = 0; j <= 50; ++j)for (int k = 0; k <= min(le[i], (50 - j) / i); ++k) n2[j + k * i] += n1[j];copy_n(n2, 51, n1); memset(n2, 0, sizeof(n2)); }
}
int main() {int N;cin >> N;while (N--) {for (int i = 1; i <= 26; ++i) { cin >> le[i];}GF();int sum = 0;for (int i = 1; i <= 50; ++i)sum += n1[i];cout << sum << endl;}return 0;
}

代码思路

  1. 初始化:定义一个数组n1,其中n1[i]表示长度为i的组合的数量。由于空组合也是一种组合,所以n1[0]被初始化为1。定义一个临时数组n2,用于在迭代过程中存储中间结果。
  2. 动态规划:遍历字母表(从A到Z,即索引1到26):对于每个字母,遍历所有可能的组合长度(从0到50):对于每个组合长度j,再遍历当前字母可以出现的次数(从0到le[i]):如果新的组合长度不超过50,则将n1[j]的值加到n2[j + k * i]上,因为所有长度为j的组合都可以通过添加k个当前字母来扩展为长度为j + k * i的组合。计算新的组合长度j + k * ik是当前字母出现的次数)。将n2数组的内容复制到n1数组,以准备下一轮迭代。将n2数组重置为0。
  3. 计算总组合数:在完成所有字母的迭代后,n1数组中的值就表示了所有可能组合的数量(按长度分类)。遍历n1数组(从索引1到50),将所有值相加,得到总组合数。
  4. 主程序:首先读取测试用例的数量N。对于每个测试用例,读取26个字母可以重复出现的次数(存储在le数组中)。调用GF函数来计算当前测试用例的总组合数。输出总组合数。

2085.核反应堆

题目描述

Problem - 2085

运行代码

#include <iostream>
using namespace std;
void FN(int n) {long long int high = 1;long long int low = 0;for (int i = 1; i <= n; i++) {long long int newHigh= 3 * high + 2 * low;long long int newLow = high + low;high = newHigh;low = newLow;}cout << high << ", " << low << endl;
}
int main() {int n;while (cin >> n && n != -1) {FN(n);}return 0;
}

代码思路

  • FN 函数用于计算特定时间 n 微秒时高能质点和低能质点的数量。
    • 定义了两个变量 high 表示高能质点数量初始为 1,low 表示低能质点数量初始为 0。
    • 通过一个循环,从 1 到 n 进行迭代。在每次迭代中,根据题目给定的规则计算新的高能质点数量(3 倍当前高能质点数量加上 2 倍当前低能质点数量)和新的低能质点数量(当前高能质点数量加上当前低能质点数量),然后更新这两个变量。
  • 在 main 函数中,通过一个循环不断读取输入的时间 n,只要输入不为 -1,就调用 FN 函数进行计算并输出结果。

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

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

相关文章

机器学习算法 —— 贝叶斯分类之模拟离散数据集

&#x1f31f;欢迎来到 我的博客 —— 探索技术的无限可能&#xff01; &#x1f31f;博客的简介&#xff08;文章目录&#xff09; 目录 实战&#xff08;贝叶斯分类&#xff09;莺尾花数据模拟离散数据集库函数导入数据导入和分析模型训练和预测 总结 实战&#xff08;贝叶斯…

群体优化算法---水波优化算法介绍以及应用于聚类数据挖掘代码示例

介绍 水波优化算法&#xff08;Water Wave Optimization, WWO&#xff09;是一种新兴的群智能优化算法&#xff0c;灵感来自水波在自然环境中的传播和衰减现象。该算法模拟了水波在水面上传播和碰撞的行为&#xff0c;通过这些行为来寻找问题的最优解。WWO算法由三种主要的操作…

打工人的福利,NewspaceGpt使用新体验

使用地址&#xff1a;https://newspace.ai0.cn/ NewspaceGpt大体所有功能一览(​​newspace.ai0.cn​​) 使用体验与官网完全一致&#xff0c;可在第一时间体验到官网所有新功能。无需特殊上网。内置多个Plus账号&#xff0c;不用担心次数不够。支持所有GPTS功能:DALLE-3模型(…

CTFHUB-SQL注入-时间盲注

本题用到sqlmap工具&#xff0c;没有sqlmap工具点击&#x1f680;&#x1f680;&#x1f680;直达下载安装使用教程 理论简述 时间盲注概述 时间盲注是一种SQL注入技术的变种&#xff0c;它依赖于页面响应时间的不同来确定SQL注入攻击的成功与否。在某些情况下&#xff0c;攻…

攻防世界---misc---embarrass

1、下载附件是一个数据包 2、用wireshark分析 3、ctrlf查找字符 4、 flag{Good_b0y_W3ll_Done}

angular2网页前端执行流程

示例代码版本&#xff1a; http://192.168.102.9/jas-paas/cloudlink-front-framework/tree/045f4811da782c107eca72f9bdea39ebaa086a7d 命令行运行命令启动服务 在开发环境下&#xff0c;打开项目目录&#xff0c;运行命令npm start,这个命令会进入package.json文件中&#x…

cve_2014_3120-Elasticsearch-rce-vulfocus靶场

1.背景 来源&#xff1a;ElasticSearch&#xff08;CVE-2014-3120&#xff09;命令执行漏洞复现_mvel 漏洞-CSDN博客 参考&#xff1a;https://www.cnblogs.com/huangxiaosan/p/14398307.html 老版本ElasticSearch支持传入动态脚本&#xff08;MVEL&#xff09;来执行一些复…

Windows11上安装docker(WSL2后端)和使用docker安装MySQL和达梦数据库

Windows11上安装docker&#xff08;WSL2后端&#xff09;和使用docker安装MySQL和达梦数据库 1. 操作系统环境2. 首先安装wsl2.1 关于wsl2.2 安装wsl2.3 查看可用的wsl2.4 安装ubuntu-22.042.5 查看、启动ubuntu-22.04应用2.6 上面安装开了daili2.7 wsl的更多参考 3. 下载Docke…

Springboot 开发之任务调度框架(一)Quartz 简介

一、引言 常见的定时任务框架有 Quartz、elastic-job、xxl-job等等&#xff0c;本文主要介绍 Spirng Boot 集成 Quartz 定时任务框架。 二、Quartz 简介 Quartz 是一个功能强大且灵活的开源作业调度库&#xff0c;广泛用于 Java 应用中。它允许开发者创建复杂的调度任务&…

【Jenkins+K8s】持续集成与交付 (二十):K8s集群通过Deployment方式部署安装Jenkins

🟣【Jenkins+K8s】持续集成与交付 (二十):K8s集群通过Deployment方式部署安装Jenkins 一、 准备工作二、安装 Jenkins2.1 设置NFS共享目录2.2 创建名称空间2.3 创建持久化卷和声明2.4 创建sa账号2.5 对sa账号授权2.6 通过Deployment方式部署Jenkins2.7 查看Jenkins是否创建…

AdroitFisherman模块测试日志(2024/6/10)

测试内容 测试AdroitFisherman分发包中SHAUtil模块。 测试用具 Django5.0.3框架&#xff0c;AdroitFisherman0.0.31 项目结构 路由设置 总路由 from django.contrib import admin from django.urls import path,include from Base64Util import urls urlpatterns [path(ad…

SCRM的全面了解

一、什么是SCRM SCRM&#xff08;Social CRM&#xff0c;社会化客户关系管理&#xff09;&#xff0c;是以用户为中心&#xff0c;通过社交平台与用户建立联系&#xff0c;以内容、活动、客服、商城等服务吸引用户注意力&#xff0c;并不断与用户产生互动&#xff0c;实现用户…

【Oracle篇】rman时间点异机恢复:从RAC环境到单机测试环境的转移(第六篇,总共八篇)

&#x1f4ab;《博主介绍》&#xff1a;✨又是一天没白过&#xff0c;我是奈斯&#xff0c;DBA一名✨ &#x1f4ab;《擅长领域》&#xff1a;✌️擅长Oracle、MySQL、SQLserver、阿里云AnalyticDB for MySQL(分布式数据仓库)、Linux&#xff0c;也在扩展大数据方向的知识面✌️…

谷歌AI助力软件工程的进展及未来展望

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

OpenAI 宕机事件:GPT 停摆的影响与应对

引言 2024年6月4日&#xff0c;OpenAI 的 GPT 模型发生了一次全球性的宕机&#xff0c;持续时间长达8小时。此次宕机不仅影响了OpenAI自家的服务&#xff0c;还导致大量用户涌向竞争对手平台&#xff0c;如Claude和Gemini&#xff0c;结果也导致这些平台出现故障。这次事件的广…

lua网站开发中如何制作自定义模块

自定义模块是FastWeb框架的重要拓展功能&#xff0c;用来扩展和增强服务的能力。通过自定义模块&#xff0c;开发者可以轻松添加特定的功能和特性&#xff0c;使得网站开发更加灵活和高效。本文将演示如何添加自己的模块作为FastWeb的拓展&#xff0c;为框架的壮大与支持提供重…

在 Word 中,如何有效调整文字与下划线之间的距离

&#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 如果你在使用 Word 时&#xff0c;希望调整文字和下划线之间的距离&#xff0c;让它们看起来更加美观&#xff0c;可以按照以下步骤操作&#xff1a; 1. 在你想要加下划线的文字前后各加一个空格&…

c++【入门】米老鼠偷糖果

限制 时间限制 : 1 秒 内存限制 : 128 MB 题目 米老鼠发现了厨房放了n颗糖果&#xff0c;它一次可以背走a颗&#xff0c;请问米老鼠背了x次之后还剩多少颗&#xff1f;&#xff08;假设x次之后一定有糖果剩下&#xff09; 输入 三个整数n、a、x分别代表总共有n颗糖果&…

在windows10 安装子系统linux(WSL安装方式)

在 windows 10 平台采用了WSL安装方式安装linux子系统 1 查找自己想要安装的linux子系统 wsl --list --online 2 在线安装 个人用Debian比较多&#xff0c;这里选择Debian&#xff0c;如下图&#xff1a; wsl --install -d Debian 安装过程中有一步要求输入用户名与密码&…

使用Vue CLI在其他磁盘创建项目出现错误及解决

Vue CLI是Vue.js官方推出的脚手架工具&#xff0c;可以帮我们快速的创建Vue项目框架。 我们创建Vue项目时一般默认都是在C盘&#xff0c;但由于某些因素我们需要在其他磁盘上创建Vue项目。 通过“winr”打开终端时默认位置都是C盘&#xff0c;但是Vue CLI不接受绝对路径作为参…