- 博客(24)
- 收藏
- 关注
原创 PAT 乙级 1058 选择题
PAT 乙级 1058 选择题思路:先将每道题的各项信息存到定义的question结构体里,然后每输入一个人的做题信息,分别与结构体里的问题信息进行比较,计算出该学生的分数并修改结构体里的错误次数的值,最后通过定义好的cmp函数进行排序,就可以求出错误次数最多的题目和编号了。要注意输入每个同学的做题信息是的括号要吸收掉,所以代码看起来会很乱。#include<bits/stdc++.h>using namespace std;struct Question{//定义问题结构体,包含本题
2022-04-13 22:36:19
406
原创 CCF CSP 风险人群筛查 C++
风险人群筛查思路:对每个人判断判断是否经过或逗留,输入每个时间的坐标,与风险区坐标进行比较,若在风险区内,则经过,判断逗留时间时注意要求连续停留,因此每次不在风险区内时都要将连续逗留时间清零,若连续逗留时间大于等于k才能判定为逗留。判定结束后对应的人数加一。#include<bits/stdc++.h>using namespace std;int main(){ int n, k,t,xl,yd,xr,yu; cin>>n>>k>>t>
2022-04-05 17:50:16
1092
原创 CCF CSP 回收站选址 C++
回收站选址定义结构体存放坐标和判断是否为垃圾站的变量和得分变量,输入所有坐标,刷新结构体内变量的值,最后通过nearRubbish和score判断是否为垃圾站并输出不同得分的垃圾站数目#include<bits/stdc++.h>using namespace std;struct Rubbish{ //定义一个结构体,x,y,存放坐标,nearRubbish记录上下左右的垃圾数,score记录对角的垃圾数 int x; int y; int nearRubbish = 0;
2022-04-04 19:32:36
950
原创 CCF CSP 小明种苹果(续) C++
小明种苹果(续)大体的思路是创建苹果数结构体来存放树上的苹果树和掉落的苹果树,然后每次疏果或检查操作更新树上的苹果数,最后遍历每一棵树判断是否有掉落,详情见注释(ps.我是大二初学菜鸡,刚开始写博客,现在阅读量快2000了但一个点赞一条评论都没有,想问下真的有人看我写的博客嘛qwq,能不能评论区戳我一下)#include<bits/stdc++.h>using namespace std;struct Tree{ int applenumber = 0; //定义苹果树结构体,存放
2022-04-04 17:15:38
1494
3
原创 CCF CSP 未初始化警告 C++
未初始化警告#include<bits/stdc++.h>using namespace std;int main(){ int n, k,cnt=0; //用cnt统计有多少个数未被初始化 cin>>n>>k; int hash[n+1] = {0}; //用hash记录这个数是否被初始化,0已被初始化置1 hash[0] = 1; for(int i = 0 ; i < k; i++){ int a , b; cin>&g
2022-04-02 12:49:24
1672
原创 CCF CSP 卖菜 C++
卖菜#include <bits/stdc++.h>using namespace std;int main(){ int n; cin>>n; int a[n]; for(int i = 0; i < n; i++){ cin>>a[i]; } int b[n]; b[0] = (a[0] + a[1])/2; b[n-1] = (a[n-1] + a[n-2])/2; for(int i = 1; i < n-1; i++){
2022-03-31 21:20:49
309
原创 CCF CSP 买菜 C++
买菜当两人同时装车时才能聊天,那么思路就是记录下两人装车的时间段,当两人都在装车的时候聊天时间增加,代码如下。#include<bits/stdc++.h>using namespace std;int h[1000001] = {0};//分别定义h,w数组用于记录装车的时间 int w[1000001] = {0};int main(){ int n; cin>>n; int k = n; int lasth,lastw,sum = 0; for(int
2022-03-31 21:15:04
466
1
原创 CCF CSP 碰撞的小球 C++
碰撞的小球代码比较长是因为看错题意,题目要求最后按序号输出位置,因此既要存序号,也要存位置。先将小球按照初始位置排序,定义另一个数组mov来记录小球移动的距离,每过一个单位时间判断是否发生碰撞,并修改mov的方向和距离。t时间后记录最后每个小球所在的位置,并按照小球序号重新排序。#include<bits/stdc++.h>using namespace std;int n,l,t;struct Ball{ //定义一个结构体,存球的序号和初始位置 int number; in
2022-03-31 18:09:53
755
原创 CCF CSP 游戏 C++
游戏#include<bits/stdc++.h>using namespace std;bool check(int i,int k){ if(i % k == 0|| i%10==k){ return false; } else return true;}int main(){ int n,k; cin>>n>>k; vector<int> a; for(int i = 1; i <= n; i++){ a
2022-03-31 09:19:50
2698
原创 CCF CSP 折点计数 C++
折点计数#include<bits/stdc++.h>using namespace std;int main(){ int n; cin>>n; int a[n]; for(int i = 0; i < n; i++){ cin>>a[i]; } int dp[n]; for(int i = 1; i < n; i++){ if(a[i] - a[i-1] > 0){ dp[i] = 1; } else{
2022-03-31 09:16:44
296
原创 CCF CSP 最大波动 C++
最大波动#include<bits/stdc++.h>using namespace std;int main(){ int n; cin>>n; int a[n]; for(int i= 0 ; i< n; i++){ cin>>a[i]; } int maxfloat = max(a[1] - a[0],a[0] - a[1]); for(int i = 2; i < n; i++ ){ maxfloat = max(max
2022-03-31 09:14:32
165
原创 CCF CSP 中间数 C++
中间数#include<bits/stdc++.h>using namespace std;int len;bool check(int x,int a[]){ int cnt1 =0,cnt2 = 0; for(int i = 0; i < len; i++){ if(a[i] > x){ cnt1++; } else if(a[i] < x){ cnt2++; } } if(cnt1 == cnt2){ return tru
2022-03-31 09:12:05
352
原创 CCF CSP 学生排队 C++
学生排队#include<bits/stdc++.h>using namespace std;/*int findwhere(vector<int> &a,int x){ for(int i = 0; i < a.size();i++){ if(a[i] == x){ return i; } }}*/int main(){ int n; cin>>n; int a[n]; for(int i = 0; i <
2022-03-31 09:07:54
468
原创 CCF CSP 分蛋糕 C++
分蛋糕#include<bits/stdc++.h>using namespace std;int main(){ int n,k; cin>>n>>k; int a[n]; int weight = 0; int cnt = 0; for(int i= 0; i < n; i++){ cin>>a[i]; weight += a[i]; if(weight >= k){ cnt++; weight =
2022-03-31 09:05:25
348
原创 CCF CSP 打酱油 C++
打酱油#include<bits/stdc++.h>using namespace std;int main(){ int n; cin>>n; int money5 = n/50; int money3 = (n%50)/30; int money1 =((n%50)%30)/10; int count = money5*7 + money3*4 + money1; cout<<count;}
2022-03-30 18:24:59
210
原创 CCF CSP 最小差值 C++
最小差值#include<bits/stdc++.h>using namespace std;int main(){ int n; cin>>n; int a[n]; for(int i = 0; i < n; i++){ cin>>a[i]; } sort(a,a+n); int min = a[1] - a[0]; for(int i = 1; i < n; i++){ if(min >= a[i] - a[i
2022-03-30 18:22:52
312
原创 CCF CSP 小明上学 C++
小明上学#include<bits/stdc++.h>using namespace std;int main(){ int r,y,g; cin>>r>>y>>g; int n; cin>>n; int a[n],b[n]; int sum = 0; for(int i= 0; i < n; i++){ cin>>a[i]>>b[i]; if(a[i] == 0){ sum +
2022-03-30 18:21:09
170
原创 CCF CSP 小明种苹果 C++
小明种苹果#include<bits/stdc++.h>using namespace std;int m;struct Apple{ int number; int appleNumber; int lastAppleNumber; int deleteAppleNumber = 0; int shu[1001];}apple[1001];bool cmp(Apple a,Apple b){ if(a.deleteAppleNumber != b.deleteAp
2022-03-30 18:18:48
500
原创 CCF CSP 报数 C++
报数#include<bits/stdc++.h>using namespace std;bool check(int i){ if(i % 7 ==0){ return false; } else { while(i){ if(i % 10 == 7){ return false; } i /= 10; } } return true;}int main(){ int n; cin>>n; int a[5] = {
2022-03-30 18:16:06
232
原创 CCF CSP 线性分类器 C++
线性分类器#include<bits/stdc++.h>using namespace std;struct Xian{ int x; int y; char kind;}xian[1001]; int main(){ int n,m; cin>>n>>m; for(int i = 0; i < n;i++){ cin>>xian[i].x>>xian[i].y>>xian[i].kind; }
2022-03-30 18:11:55
234
原创 CCF CSP 称检测点查询 C++
称检测点查询#include<bits/stdc++.h>using namespace std;struct Jiance{ int number; int distance;}jian[1001];bool cmp(Jiance a,Jiance b){ if(a.distance != b.distance){ return a.distance < b.distance; } else return a.number < b.number;}i
2022-03-30 18:09:58
484
原创 CCF CSP 期末预测之安全指数 C++
期末预测之安全指数#include<bits/stdc++.h>using namespace std;int main(){ int n; cin>>n; int a[n][2]; int sum = 0; for(int i = 0; i < n; i++){ cin>>a[i][0]>>a[i][1]; sum += a[i][0] * a[i][1]; } int ans = max(0,sum); cout&l
2022-03-30 18:05:49
172
原创 CCF CSP 灰度直方图 C++
灰度直方图#include<bits/stdc++.h>using namespace std;const int maxn = 257;int main(){ int n,m,l; cin>>n>>m>>l; int a[n][m]; int hash[maxn] = {0}; for(int i = 0 ; i < n; i++){ for(int j = 0; j < m; j++){ cin>>a
2022-03-30 18:02:16
199
原创 CCF CSP 数组推导 C++
CCF CSP 数组推导 C++#include<bits/stdc++.h>using namespace std;int main(){ int n; cin>>n; int a[n],b[n]; int max = 0; for(int i = 0; i < n;i++){ cin>>b[i]; max += b[i]; } a[0] = b[0]; int min =a[0]; for(int i = 1; i
2022-03-30 17:58:12
321
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人