试题 A: 2022

#include<bits/stdc++.h>
using namespace std;typedef long long LL;
LL dp[11][2023];int main()
{dp[0][0]=1;for(int i=1;i<=2022;i++) for(int j=10;j>=1;j--)for(int k=i;k<=2022;k++)dp[j][k]+=dp[j-1][k-i];cout<<dp[10][2022]<<endl;return 0;
}
//379187662194355221

试题 B: 钟表

#include<bits/stdc++.h>
using namespace std;int main()
{for(int s=0;s<=6;s++)for(int f=0;f<60;f++)for(int m=0;m<60;m++){double m1=1.0*m/60*360;double f1=1.0*f/60*360+m1/60;double s1=1.0*s/12*360+f1/12;double A=fabs(f1-s1),B=fabs(f1-m1);A=min(A,360-A);B=min(B,360-B);if(fabs(A-2*B)<=1e-5)cout<<s<<" "<<f<<" "<<m<<endl;}return 0;
}

试题 C: 卡牌

思路:现在一副牌有n种牌,当前每种牌a[i]张,m张白色牌,把m张白色牌分给当前有的a[i]牌中,但不能超过b[i],求最大能凑出几副牌。

#include<bits/stdc++.h>
using namespace std;typedef long long LL;
const int N = 200010;
int a[N],b[N],n;
LL m;bool check(int mid)
{LL sum=0;for(int i=1;i<=n;i++)if(a[i]<mid){sum+=mid-a[i];if(mid>a[i]+b[i]) return false;if(sum>m) return false;}return true;
}int main()
{scanf("%d%lld",&n,&m);for(int i=1;i<=n;i++) scanf("%d",&a[i]);for(int i=1;i<=n;i++) scanf("%d",&b[i]);int l=0,r=1e6;while(l<r){int mid=(l+r+1)>>1;if(check(mid)) l=mid;else r=mid-1;}printf("%d\n",l);return 0;
}

试题 D: 最大数字

思路:2n2^n2n次状态压缩,暴力搜索,判断当前情况是否符合条件。

#include<bits/stdc++.h>
using namespace std;int main()
{string s;int aa,bb;cin>>s>>aa>>bb;int n=s.size();string mx=s;for(int i=0;i<(1<<n);i++){string str=s;int a=aa,b=bb;for(int j=n-1,k=0;j>=0;j--,k++){if(i>>j&1){if(a==0) continue;int x=s[k]-'0';int d=9-x;if(d<=a) a-=d,str[k]='9';else str[k]=x+a+'0',a=0;}else{if(b==0) continue;int x=s[k]-'0';int d=x+1;if(d<=b) b-=d,str[k]='9';else str[k]=x-b+'0',b=0;}}mx=max(mx,str);}cout<<mx<<endl;return 0;
}

试题 E: 出差

#include<bits/stdc++.h>
using namespace std;typedef pair<int,int> PII;
const int N = 1010;vector<PII> g[N];
int d[N];
bool st[N];int main()
{int n,m;cin>>n>>m;vector<int> w(n+1);for(int i=1;i<=n;i++) cin>>w[i];for(int i=1;i<=m;i++){int a,b,c;cin>>a>>b>>c;g[a].push_back({b,c});g[b].push_back({a,c});}memset(d,0x3f,sizeof d);memset(st,false,sizeof st);d[1]=0;priority_queue<PII,vector<PII>,greater<PII> > Q;Q.push({d[1],1});while(!Q.empty()){PII t=Q.top();Q.pop();int ver=t.second,distance=t.first;if(st[ver]) continue;st[ver]=true;for(auto &p:g[ver]){int j=p.first,v=p.second;if(d[j]>distance+v+w[ver]){d[j]=distance+v+w[ver];Q.push({d[j],j}); }}}cout<<d[n]-w[1]<<endl;return 0;
}

试题 F: 费用报销

思路:将月日转化成这一年的第几天,然后进行DP

#include<bits/stdc++.h>
using namespace std;const int N = 366;
int dp[N];
int month[]={0,31,28,31,30,31,30,31,31,30,31,30,31};int get(int m,int d)
{int ans=0;for(int i=1;i<m;i++)ans+=month[i];return ans+d;
}int main()
{int n,m,k;cin>>n>>m>>k;for(int i=1;i<=n;i++){int a,b,c;cin>>a>>b>>c;int x=get(a,b);dp[x]=c; }return 0;
}
//没写完,待补

试题 H: 机房

思路:给你一个树,求任意两点之间的所有点——直接连接点的数量和,LCA模板题。但是不会LCA,待补。

试题 H: 机房 ————已补的LCA

试题 I: 齿轮

#include<bits/stdc++.h>
using namespace std;typedef long long LL;
const int N = 200010;
int a[N];int main()
{unordered_set<LL> b;int n,q;scanf("%d%d",&n,&q);for(int i=1;i<=n;i++) scanf("%d",&a[i]);for(int i=1;i<=n-1;i++)if(a[i]%a[n]==0)b.insert(a[i]);while(q--){int x;scanf("%d",&x);if(b.count((LL)x*a[n])) puts("YES");else puts("NO");}          return 0;
}

2022年第十三届蓝桥杯大赛软件类国赛 C/C++ 大学B组相关推荐

  1. 第十三届蓝桥杯大赛软件类国赛 C/C++ 大学B组 试题 G: 故障

    试题 G: 故障 贝叶斯公式 条件概率的运用,即发生A事件的条件下,B事件发生的概率. #include<cstdio> #include<cmath> #include< ...

  2. 2018第九届蓝桥杯大赛软件类国赛 C/C++ 大学 B 组

    A标题:换零钞 x星球的钞票的面额只有:100元,5元,2元,1元,共4种. 小明去x星旅游,他手里只有2张100元的x星币,太不方便,恰好路过x星银行就去换零钱. 小明有点强迫症,他坚持要求200元 ...

  3. 2019 第十届蓝桥杯大赛软件类省赛 C/C++ 大学 A 组 【部分题解】

    声明: 这些的答案不是官方答案,都是我自己做的,仅供参考.一起加油 试题 A: 平方和 本题总分:5′5 '5′ [问题描述] 小明对数位中含有 2.0.1.92. 0. 1. 92.0.1.9 的数 ...

  4. 2020第十一届蓝桥杯大赛软件类国赛 C/C++ 大学 B 组

    成绩是国二中游,赛场上填空题写了第1,2,5题,第2题大意错了,编程题写了第7,8,10题,第7题对了样例,后两题不知道可以对多少,总分有50左右吧. 试题 A: 美丽的 2 本题总分:5 分 [问题 ...

  5. 2022年第十三届蓝桥杯大赛软件类决赛C/C++/Java/Python真题

    1.2022年第十三届蓝桥杯大赛软件类决赛C/C++大学A组真题 2022年第十三届蓝桥杯大赛软件类决赛C/C++大学A组真题 - 题库 - C语言网 2. 2022年第十三届蓝桥杯大赛软件类决赛C/ ...

  6. 第九届蓝桥杯大赛软件类国赛

    文章目录 第九届蓝桥杯大赛软件类国赛 国赛C++ A组 三角形面积 阅兵方阵 找假币 约瑟夫环 -- important 自描述序列 -- todo 采油 -- todo 国赛C++ B组 换零钞 激 ...

  7. 2022年第十三届蓝桥杯大赛软件类决赛C/C++大学B组(国赛)题解

    2022国赛B组 题目一:C题 卡牌 题目二:D题 最大数字 题目三:E题 出差 题目四:F题 费用报销 题目五:G题 故障 题目六:H题 机房 题目七:I题 齿轮 题目八:J题 搬砖 刷题链接: h ...

  8. 2022年第十三届蓝桥杯大赛软件类决赛C/C++大学B组C题卡牌

    题意: 有n种牌,第i种牌有ai 张,一套牌为n张牌每种各一张,为凑出更多的牌,用m张空白牌写上种类,每种最多写bi张,求最多能凑几幅牌. 思考: 已知ai.bi,不考虑有多少张空白牌,最多能凑min ...

  9. 2022年第十三届蓝桥杯大赛软件类决赛C/C++大学B组E题出差

    题意: 有N个城市,编号1...N,无法从1出发到N,需要通过其他城市中转,并且到达后需隔离,求1到N时间最短的路线. 思路: 最短路变形,求时间最短,使用Dijkstra算法松弛时需加上隔离的时间, ...

最新文章

  1. MySQL 学习笔记(17)— SQL 执行顺序
  2. 皮一皮:千万不要把可乐放冷冻...
  3. u2020 华为_华为站点打LICENSE步骤
  4. python自学视频教程-28岁想从零开始自学python,有哪些靠谱免费的视频?
  5. c++宏定义常量为什么使用移位_干货 | C语言系列3——常量,运算符,常用数学函数.........
  6. volatile能保持线程安全吗_从volatile说到i++的线程安全问题
  7. CentOS7 64位下MySQL5.7安装与配置(YUM)
  8. 不相交集类及其应用生成迷宫
  9. java分布式和集成式_【分布式java应用笔记】分布式与soa
  10. OFD电子文档阅读器功能说明
  11. idea中maven项目,输出在控制台上的中文乱码问题
  12. estore简版商城
  13. 数据采集集成-网络数据采集(一)
  14. 《逆流而上的你》大结局将至,邹凯高蜜何去何从
  15. C#莱姆达表达式的使用
  16. Android流畅度总结
  17. Excel改变了你的基因名,30% 相关Nature文章受影响,NCBI也受波及
  18. java小游戏之捕鱼达人,学了java,妈妈不再担心我去网吧游戏厅了!
  19. 什么是电压跟随器?电压跟随器计算方法讲解
  20. 逐梦offer -- JVM篇

热门文章

  1. 开关灯效果HTML,JS实现灯泡开关特效
  2. 选课系统 - 数据库查询(一)
  3. Android中MVP模式
  4. Android-自定义幸运抽奖转盘
  5. 数据挖掘项目(一)Airbnb 新用户的民宿预定结果预测
  6. LaTex 如何生成参考文献
  7. 《浣溪沙·一曲新词酒一杯》 晏殊
  8. win10+Ubuntu16.04双系统安装及卸载
  9. Windows运行机理——消息与消息队列
  10. 微信的JS接口安全域名设置+tomcat服务器