当前位置: 首页 > news >正文

蓝桥杯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;
} 

http://www.lryc.cn/news/324862.html

相关文章:

  • 深度学习pytorch——多分类问题(持续更新)
  • Flutter探索之旅:控制键盘可见性的神奇工具(flutter_keyboard_visibility)
  • 提升质量透明度,动力电池企业的数据驱动生产实践 | 数据要素 × 工业制造
  • 华为数通 HCIP-Datacom H12-831 题库补充
  • tensorflow中显存分配
  • STM32--RC522学习记录
  • 函数封装冒泡排序
  • mysql基础学习
  • mybatisplus提示:Property ‘mapperLocations‘ was not specified.
  • 【STL源码剖析】【2、空间配置器——allocator】
  • 机器人|逆运动学问题解决方法总结
  • php搭建websocket
  • maven install报错原因揭秘:‘parent.relativePath‘指向错误的本地POM文件
  • 数据结构·排序
  • Python学习笔记01
  • Java学习笔记01
  • SOC子模块---RTC and watchdog
  • 【测试开发学习历程】MySQL增删改操作 + 备份与还原 + 索引、视图、存储过程
  • StarRocks 助力金融营销数字化进化之路
  • 医院预约挂号系统设计与实现|jsp+ Mysql+Java+ Tomcat(可运行源码+数据库+设计文档)
  • IIS7/iis8/iis10安装II6兼容模块 以windows2022为例
  • Python爬虫-批量爬取星巴克全国门店
  • C/C++ 设置Socket的IP_TOS选项
  • 【tensorflow_gpu】安装合集
  • Go 实现fsnotify
  • Flink GateWay、HiveServer2 和 hive on spark
  • 阿里云国际设置黑白名单(针对高防实例IP)
  • Docker 入门使用说明
  • UE5 LiveLink 自动连接数据源,以及打包后不能收到udp消息的解决办法
  • 国内ip切换是否合规?