第46期题解

简介: 第46期题解

🌏一、吃吃吃

🌸题目描述

已知n个整数。 每3个数算一个周期。 不足一个周期补0. 在周期的第一个位置的数的权值和等于a1+a[1+3]+… … 求三个数的最大权值。 如果最大权值为第一个数,输出’J’; 最大权值为第二个数,输出’H’; 最大权值为第三个数,输出’B’。

输入输出:第一行输入n,第二行输入所有数,输出对应的字符。

🌸题解

解题思路:这个题我看不懂题意,希望懂的大佬在评论区教教我,求求了

题解如下:

// CSDN周赛 46期 NO.1
// 花无缺题解 
#include <iostream>
using namespace std; 
int a[101];
int main() {
  int n;
  cin>>n;
  for(int i=1;i<=n;i++){
    cin>>a[i];
  }
  int res1=0, res2=0, res3=0;
  for(int i=1;i<=n;i++) {
    if(i%3==1){
      res1+=a[i];
    } else if (i%3==2) {
      res2+=a[i];
    } else {
      res3+=a[3];
    }
  }
  if (res1>res2) {
    if (res1 > res3) {
      cout << "J";
    } else {
      cout << "B";
    }
  } else {
    if(res2>res3){
      cout << "H";
    }else{
      cout << "B";
    } 
  }
  return 0;
}

🌏二、n 边形划分

🌸题目描述

已知存在n多边形,n为奇数。 连接多边形所有对角线。 能形成多少区域。

输入输出:输入一个正整数n,输出能够形成的区域

🌸题解

解题思路:根据递推公式((m-1)*(m-2)*(m*m-3*m+12))/24得出结果

题解如下:

// CSDN周赛 46期 NO.2
// 花无缺题解
#include <iostream>
using namespace std; 
int solution(int m) {
    int result;
  if (m%2==0)
      result=0;
  else 
    result=((m-1)*(m-2)*(m*m-3*m+12))/24;
    return result;
}
int main() {
    int m;
  cin >> m; 
    int result = solution(m);
  cout << result; 
    return 0;
}

🌏三、求最小元素

🌸题目描述

假设一个按升序排序的数组在未知的某个中心点旋转。(即[0,1,2,4,5,6,7]可能变为[4,5,6,7,0,1,2])。找到数组中最小元素。您可以假设阵列中不存在重复项。

输入输出:第一行输入数组的个数,第二行输入每一个数组元素,输出最小元素。

🌸题解

解题思路:这个题就是求数组的最小值,借用一个中间变量在输入数组元素的同时直接找出最小值。

题解如下:

// CSDN 46 期周赛 No3
// 花无缺题解
#include <iostream>
#include <algorithm>
using namespace std;
long a[10002];
int main() {
  int n;
  cin >> n;
  int temp = 1000000002;
  for (int i = 0; i < n; i++) {
    cin >> a[i];
    if (temp > a[i])
      temp = a[i];
  }
  cout << temp;
  return 0;
}

🌏四、连续子数组的最大和

🌸题目描述

给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和 。

输入输出:第一行输入数组的个数n,第二行输入数组元素,输出连续子数组的最大和。

🌸题解

解题思路:对数组进行二层遍历,找出数组的所有子数组,并求出每一个子数组的和,输出最小的和。

题解如下:

// CSDN 46 期周赛 No.4
// 花无缺题解
#include <iostream>
#include <algorithm>
using namespace std;
int nums[1002];
int main() {
  int n, Max = -100000;
  cin >> n;
  for (int i = 1; i<=n; i++) {
    cin >> nums[i];
  }
  for (int i = 1; i <= n; i++) {
    for (int j = i; j <= n; j++) {
      int temp = 0;
      for (int k = i; k <= j; k++)
        temp = temp + nums[k];
      if (temp >= Max)
      Max = temp;
    }
  }
  cout << Max;
  return 0;
}


相关文章
|
机器学习/深度学习 人工智能 自然语言处理
大模型开发:解释强化学习以及它与监督学习的不同之处。
强化学习(RL)是机器学习的一种,通过智能体与环境交互学习最优策略,以获取最大回报,常用于动态环境如游戏和机器人。与之不同,监督学习(SL)使用有标签的训练数据来预测新数据,适用于如图像分类等稳定问题。两者关键区别在于学习方式和应用场景:RL侧重环境交互和策略优化,适合未知动态环境;SL依赖已知标签数据,适合标签明确的任务。在大模型开发中,两者各有优势,并不断融合创新,推动人工智能发展。
1119 2
|
XML 安全 Java
自定义PMD检测的类型集合(详解)
自定义PMD检测的类型集合(详解)
自定义PMD检测的类型集合(详解)
|
前端开发 JavaScript 网络架构
react对antd中Select组件二次封装
本文介绍了如何在React中对Ant Design(antd)的Select组件进行二次封装,包括创建MSelect组件、定义默认属性、渲染Select组件,并展示了如何使用Less进行样式定义和如何在项目中使用封装后的Select组件。
535 2
react对antd中Select组件二次封装
|
人工智能 弹性计算 编解码
阿里云GPU云服务器性能、应用场景及收费标准和活动价格参考
GPU云服务器作为阿里云提供的一种高性能计算服务,通过结合GPU与CPU的计算能力,为用户在人工智能、高性能计算等领域提供了强大的支持。其具备覆盖范围广、超强计算能力、网络性能出色等优势,且计费方式灵活多样,能够满足不同用户的需求。目前用户购买阿里云gpu云服务器gn5 规格族(P100-16G)、gn6i 规格族(T4-16G)、gn6v 规格族(V100-16G)有优惠,本文为大家详细介绍阿里云gpu云服务器的相关性能及收费标准与最新活动价格情况,以供参考和选择。
|
文字识别 JavaScript API
Vue实现:Ctrl+V粘贴文字图片截图,调用第三方API文字识别OCR内容并进行内容分割识别填充。
Vue实现:Ctrl+V粘贴文字图片截图,调用第三方API文字识别OCR内容并进行内容分割识别填充。
Vue实现:Ctrl+V粘贴文字图片截图,调用第三方API文字识别OCR内容并进行内容分割识别填充。
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的心聘求职平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的心聘求职平台附带文章源码部署视频讲解等
122 1
|
Web App开发 人工智能 小程序
通义听悟再升级,上线自动提取ppt等三大实用功能
通义听悟再升级,上线自动提取ppt等三大实用功能
1096 1
|
编解码 缓存 Ubuntu
Linux FrameBuffer(一) —— FrameBuffer是什么?怎么用?
Linux FrameBuffer(一) —— FrameBuffer是什么?怎么用?
1245 0
Linux FrameBuffer(一) —— FrameBuffer是什么?怎么用?
|
存储 C语言 内存技术
单片机原理与应用以及C51编程技术——data,idata,xdata,pdata,code
单片机原理与应用以及C51编程技术——data,idata,xdata,pdata,code
701 0
|
人工智能 移动开发 前端开发
【文末福利】什么是 Adobe Creative Cloud 创意应用软件?
【文末福利】什么是 Adobe Creative Cloud 创意应用软件?
【文末福利】什么是 Adobe Creative Cloud 创意应用软件?