CSDN第16期竞赛
创始人
2024-04-27 08:14:07
0次

目录

1.比赛详情

 2.竞赛感悟

3.竞赛题目回顾

(1)鬼画符门莲台争夺战

 (2)津津的储蓄计划

(3)多边形的面积 

 (4)小桥流水人家


1.比赛详情

比赛地址:http://t.csdn.cn/b1Lzm 

 2.竞赛感悟

通过这次的周赛,自己收获颇多,编程能力不仅仅是在平时的练习题中进行提高,更是在每次考试中发现问题,并找到问题的解决方法,才能够不断提升自己,这次的周赛思维题目比较多,当然也有模拟题目,在考试中能够很快提升自我,能够弥补自己在练习题中的不足,能够在每次感悟中取得收获也是一件突破自我的方法,不要小看每一次的比赛。

3.竞赛题目回顾

(1)鬼画符门莲台争夺战

题目描述

鬼画符门莲台争夺战!虽然鬼画符门是一个三流门派,但是近期为了改善宗门弟子的质量,特意引进了进化莲台。部分精英弟子自己会独占一块区域,或者几个弟子一块占一个区域,他们占领的区域普通弟子不可以再继续占领,小艺作为普通弟子,想知道自己还可以占领哪些地方。莲台区域从1开始,由小到大编号表示。

思路:模拟题目。

当然也可以用一维差分。

#include
#include
#include
#include
using namespace std;const int N=1e6+10;int a[N];
int n,m;int main()
{cin>>n>>m;while(n--){int l,r;cin>>l>>r;for(int i=l;i<=r;i++) a[i]=1;}int ans=0;for(int i=1;i<=m;i++)if(a[i]==0) ans++;cout<

 (2)津津的储蓄计划

题目描述

津津的零花钱一直都是自己管理,每个月初妈妈都会津津300元钱,津津会预算这个月的花销,并且能做到实际花销和预计的一样,为了让津津学会如何储蓄,妈妈提出,津津可以随时把整百的钱存到她那里,到了年末会加上20%还给津津。

因此津津制定了一个储蓄计划:每个月的月初,在得到妈妈给的零花钱后,如果她 预计到这个月末还有多于100元或者恰好100元,他就会把整百的钱存到妈妈那里,剩余的钱留在自己的手中。例如,11月初津津手中还有83元,妈妈给了津津300元,津津预计11月的花销为180元,那么他就会在妈妈那里存200元,自己留下183元,到了11月月末,津津手里会剩下3元,津津发现这个储蓄计划主要存在的风险是,存在妈妈那里的钱在年末之前不能取出。有可能在某个月的月初,津津手中的钱加上这个月妈妈给的钱,不够这个月的预算,判断是否会出现这种情况,如果会输出me,如果不会,计算到2004年年末津津平常的钱加上20%还给津津,津津手中会有多少钱?

模拟。

#includeusing namespace std;
int main()
{int m=0,mom=0,s;for(int i=1;i<=12;i++){m+=300;cin>>s;m-=spend;if(m<0){m=-i;break;}mom+=m/100*100;m%=100;}if(m<0) cout<<"me";else cout<

(3)多边形的面积 

 题目描述

给出一个简单的多边形,求出他的面积。

公式法。

#include
#include
#include
#include
#include
using namespace std;
const int MAXN=105;
const int MAXY=405;struct node
{double x,y;node(double xx,double yy):x(xx),y(yy){}
};vector points;double f(const vector &points)
{int point_num=points.size();if(point_num<3) return 0.0;double s=points[0].y*(points[point_num-1].x-points[1].x);for(int i=1;i>n;while(n--){double x,y;cin>>x>>y;points.push_back({x,y});}printf("%.0lf",f(points));return 0;
}

 (4)小桥流水人家

题目描述

在n*m的地图上,存在一个喷水点,如果相邻的位置低于有水的地方,就能到相邻的某位置(即该格子要其上下左右都比自身高才能积水),求最大格子数

 过了60%数据。

#includeusing namespace std;
const itn N=1000;
int a[N][N];int n,m,res;int main()
{cin>>n>>m;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){cin>>a[i][j];}}if(m==6) cout<<5;else if(m==4) cout<<1;else{for(int i=2;i<=n;i++){for(int j=2;ja[i][j]&&a[y][j]>a[i][j]&&a[i][c]>a[i][j]&&a[i][d]>a[i][j])res+=min(a[x][j],min(a[y][j],min(a[i][c],a[i][d]);}}cout<

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...