蓝桥杯day12刷题日记

2024-03-24 23:28
文章标签 蓝桥 刷题 日记 day12

本文主要是介绍蓝桥杯day12刷题日记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

P8720 [蓝桥杯 2020 省 B2] 平面切分

思路:首先借用dalao的图解释一下,又多出一条与当前平面任意一条直线都不重合线时,多了的平面是交点数+1,所以用双层循环每次往里面加一条直线,计算交点

#include <iostream>
#include <cstring>
#include <set>
using namespace std;
int n;
int a,b;
typedef pair<long double,long double> LD;
set<LD> II;
LD q[1010];int main()
{cin>>n;int ans=-1;for(int i=0;i<n;i++){cin>>a>>b;II.insert({a,b});} for(auto i=II.begin();i!=II.end();i++){q[++ans]={(*i).first,(*i).second};}int res=1;for(int i=0;i<=ans;i++){set<LD> lll;for(int j=0;j<=i;j++){long double k1=q[i].first;long double b1=q[i].second;long double k2=q[j].first;long double b2=q[j].second;if(k1==k2) continue;long double x=(b2-b1)/(k1-k2);long double y=k1*x+b1;lll.insert({x,y});}res+=lll.size();res++;}cout<<res;return 0;
}

P8651 [蓝桥杯 2017 省 B] 日期问题

有点烦的一道题,刚开始没想闰年,想着直接几个if判断解决,浪费了快一个小时调程序

附未加闰年判断的代码

#include <iostream>
using namespace std;
int a,b,c;int daysOfMonth[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};int main()
{scanf("%d/%d/%d",&a,&b,&c);if(a>=60){if(b>=1&&b<=12&&c<=daysOfMonth[b]) printf("19%02d-%02d-%02d\n",a,b,c);}else if(a<=59){if(b>=1&&b<=12&&c<=daysOfMonth[b]) printf("20%02d-%02d-%02d\n",a,b,c);}if(c>=60){if(a>=1&&a<=12&&b<=daysOfMonth[a]) printf("19%02d-%02d-%02d\n",c,a,b);if(b>=1&&b<=12&&a<=daysOfMonth[b]) printf("19%02d-%02d-%02d\n",c,b,a);}else if(c<=59){if(a>=1&&a<=12&&b<=daysOfMonth[a]) printf("20%02d-%02d-%02d\n",c,a,b);if(b>=1&&b<=12&&a<=daysOfMonth[b]) printf("20%02d-%02d-%02d\n",c,b,a);}return 0;
}

思路:这个数据范围三种循环也不会t,所以就这样直接判断,还有记得根据年份转换一下二月份的天数

#include <iostream>
using namespace std;
int a,b,c;
int daysOfMonth[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};bool isrunnian(int x)
{return (x%4==0&&x%100!=0)||(x%400==0); 
}int main()
{scanf("%d/%d/%d",&a,&b,&c);for(int i=1960;i<=2059;i++){daysOfMonth[2]=(isrunnian(i)?29:28);for(int j=1;j<=12;j++){for(int k=1;k<=daysOfMonth[j];k++){if((a==i%100&&b==j&&c==k)||(a==j&&b==k&&c==i%100)||(a==k&&b==j&&c==i%100)) printf("%d-%02d-%02d\n",i,j,k);}}}return 0;
}

P8635 [蓝桥杯 2016 省 AB] 四平方和

思路:直接循环找数,让n减去其他三个数的平方和,开根号以后因为是整数,所以会丢掉小数点后的数字,利用这个判断

#include <iostream>
#include <cmath>
using namespace std;
int n;int main()
{cin>>n;for(int a=0;a*a<n;a++){for(int b=a;a*a+b*b<n;b++){for(int c=b;a*a+b*b+c*c<n;c++){int t=n-a*a-b*b-c*c;int d=sqrt(t);if(d*d==t){printf("%d %d %d %d",a,b,c,d);return 0; }}}}return 0;
} 

这篇关于蓝桥杯day12刷题日记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/843133

相关文章

【每日刷题】Day113

【每日刷题】Day113 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 91. 解码方法 - 力扣(LeetCode) 2. LCR 098. 不同路径 - 力扣(LeetCode) 3. 63. 不同路径 II - 力扣(LeetCode) 1. 91. 解码方法 - 力扣(LeetCode) //思路:动态规划。 cl

C语言蓝桥杯

一、语言基础 竞赛常用库函数 最值查询 min_element和max_element在vector(迭代器的使用) nth_element函数的使用 例题lanqiao OJ 497成绩分析 第一种用min_element和max_element函数的写法 第二种用min和max的写法 二分查找 二分查找只能对数组操作 binary_s

hot100刷题第1-9题,三个专题哈希,双指针,滑动窗口

求满足条件的子数组,一般是前缀和、滑动窗口,经常结合哈希表; 区间操作元素,一般是前缀和、差分数组 数组有序,更大概率会用到二分搜索 目前已经掌握一些基本套路,重零刷起leetcode hot 100, 套路题按套路来,非套路题适当参考gpt解法。 一、梦开始的地方, 两数之和 class Solution:#注意要返回的是数组下标def twoSum(self, nums: Lis

代码随想录刷题day25丨491.递增子序列 ,46.全排列 ,47.全排列 II

代码随想录刷题day25丨491.递增子序列 ,46.全排列 ,47.全排列 II 1.题目 1.1递增子序列 题目链接:491. 非递减子序列 - 力扣(LeetCode) 视频讲解:回溯算法精讲,树层去重与树枝去重 | LeetCode:491.递增子序列_哔哩哔哩_bilibili 文档讲解:https://programmercarl.com/0491.%E9%80%92%E

代码随想录刷题day24丨93.复原IP地址 ,78.子集 , 90.子集II

代码随想录刷题day24丨93.复原IP地址 ,78.子集 , 90.子集II 1.题目 1.1复原IP地址 题目链接:93. 复原 IP 地址 - 力扣(LeetCode) 视频讲解:回溯算法如何分割字符串并判断是合法IP?| LeetCode:93.复原IP地址_哔哩哔哩_bilibili 文档讲解:https://programmercarl.com/0093.%E5%A4%8

研1日记5

x = torch.tensor(x),numpy 转tensor 三维矩阵相加 screen -S pid 进入之前创建好的screen transpose()只能一次操作两个维度;permute()可以一次操作多维数据,且必须传入所有维度数, transpose()中的dim没有数的大小区分;permute()中的dim有数的大小区分 PyTorch 两大转置函数 trans

【笔记】数据结构刷题09

快速排序 215. 数组中的第K个最大元素 class Solution {public:int findKthLargest(vector<int>& nums, int k) {return divide(nums,0,nums.size()-1,nums.size()-k);}int divide(vector<int>& nums,int left,int right,int k)

C语言:刷题日志(1)

一.阶乘计算升级版 本题要求实现一个打印非负整数阶乘的函数。 其中n是用户传入的参数,其值不超过1000。如果n是非负整数,则该函数必须在一行中打印出n!的值,否则打印“Invalid input”。 首先,知道阶乘是所有小于及等于该数的正整数的积,并且0的阶乘为1。那么我们先来个简单的阶乘计算吧。 #include<stdio.h>int Fact(int n){if (n <=

【每日刷题】Day112

【每日刷题】Day112 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 1137. 第 N 个泰波那契数 - 力扣(LeetCode) 2. 面试题 08.01. 三步问题 - 力扣(LeetCode) 3. LCR 088. 使用最小花费爬楼梯 - 力扣(LeetCode) 1. 1137. 第 N 个泰波那契数 - 力扣(LeetCo

【项目日记】高并发内存池---细节优化及性能测试

终此一生,只有两种办法: 要么梦见生活,要么落实生活。 --- 勒内・夏尔 --- 高并发内存池---细节优化及性能测试 1 细节优化1.1 大块内存的申请处理1.2 配合定长池脱离使用new1.3 释放对象无需内存大小 2 调试Debug3 性能测试4 项目总结 1 细节优化 在前面的文章中我们已经实现了高并发内存池的申请内存逻辑和释放内存逻辑: