当前位置:   article > 正文

2023十四届蓝桥杯C++A组真题_23年蓝桥杯吉林省省赛c语言试题

23年蓝桥杯吉林省省赛c语言试题

B组的题目笔记

(16条消息) 蓝桥杯2023年第十四届c++B组省赛真题_尘_客的博客-CSDN博客

编程题目链接放下边,就不放题干了

2023年第十四届蓝桥杯大赛软件类省赛C/C++大学A组真题 - 题库 - C语言网 (dotcpp.com)

幸运数

暴力的选择题运行时候让他运行就行了,等几分钟都行

答案 4430091

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. const int MAX=1e5+10;
  4. int dp[5005][5005];
  5. int main()
  6. {
  7. int res=0;
  8. for(int k=1;k<=100000000;k++)
  9. {
  10. int num=k;
  11. vector<int>temp;
  12. while(num)
  13. {
  14. temp.push_back(num%10);
  15. num/=10;
  16. }
  17. if(temp.size()%2==0)
  18. {
  19. long long sum=0;
  20. for(int i=0;i<temp.size()/2;i++)
  21. {
  22. sum+=temp[i];
  23. }
  24. for(int i=temp.size()/2;i<temp.size();i++)
  25. {
  26. sum-=temp[i];
  27. if(sum<0)break;
  28. }
  29. if(sum==0)res++;
  30. }
  31. }
  32. cout<<res;
  33. return 0;
  34. }

有奖问答

8335366

 深搜

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. const int MAX=1e5+10;
  4. int cnt;
  5. void dfs(int i,int score)
  6. {//做到第i题
  7. if(score==70)cnt++;
  8. if(i>=30)return ;
  9. if(score>=100)return ;
  10. dfs(i+1,score+10);//此题正确
  11. dfs(i+1,0);//此题错误
  12. }
  13. int dp[50][150];
  14. int main()
  15. {
  16. dfs(0,0);
  17. cout<<cnt;
  18. return 0;
  19. }

下面这段dp不对,答案差1,看出错误的朋友d一下 

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. const int MAX=1e5+10;
  4. int dp[50][150];
  5. int main()
  6. {
  7. /*dp[i][j]为做了[0,i]这几道题分数为j的数目
  8. dp[i][j]=dp[i-1][j-10]+dp[i-1][0]
  9. */
  10. int ans=0;
  11. for(int i=0;i<10;i++)dp[i][0]=1;
  12. for(int i=1;i<30;++i)
  13. {
  14. for(int j=0;j<100;j+=10)
  15. {
  16. if(j>=10)
  17. dp[i][j]+=dp[i-1][j-10];
  18. dp[i][0]+=dp[i-1][j];
  19. }
  20. ans+=dp[i][70];
  21. }
  22. for(int i=0;i<30;i++)
  23. {
  24. for(int j=0;j<=100;j+=10)
  25. cout<<dp[i][j]<<" ";
  26. cout<<endl;
  27. }
  28. cout<<ans;
  29. return 0;
  30. }

正确的 

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. typedef long long ll;
  4. ll dp[31][101],ans;
  5. int main(){
  6. dp[0][0]=1;
  7. for(int i=0;i<30;++i){
  8. for(int j=0;j<100;j+=10){
  9. if(!dp[i][j])continue;
  10. if(j<90)dp[i+1][j+10]+=dp[i][j];
  11. dp[i+1][0]+=dp[i][j];
  12. }
  13. ans+=dp[i+1][70];
  14. }
  15. printf("%lld\n",ans);
  16. for(int i=0;i<30;i++)
  17. {
  18. for(int j=0;j<=100;j+=10)
  19. cout<<dp[i][j]<<" ";
  20. cout<<endl;
  21. }
  22. return 0;
  23. }

平方差

找规律:奇数或四的倍数都可以 

学到一个找区间内k的倍数个数[l,r]

k倍数

个数=r/k - (l-1)/k;

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. const int MAX=1e5+10;
  4. int main()
  5. {
  6. //找规律:奇数或四的倍数都可以
  7. int l,r;
  8. cin>>l>>r;
  9. /*找l->R奇数+4的倍数
  10. ans=(r-l+1)- (偶数个数-4的倍数个数)
  11. 偶数个数 =r/2 -(l-1)/2
  12. 1->r偶数 - 1->l偶数 (别减去左边界l,所以是l-1)
  13. 4的倍数个数=r/4 -(l-1)/4
  14. */
  15. cout<<(r-l+1)-(r/2-(l-1)/2)+(r/4-(l-1)/4);
  16. /*
  17. for(int k=l;k<=r;k++)
  18. {//O(n)遍历 不能AC
  19. if(k%2||k%4==0)res++;
  20. }
  21. */
  22. return 0;
  23. }

更小的数

上dp,和力口这个题很想

那么此时此刻——恰如彼时彼刻——竟能如此相像—— 像!

647. 回文子串 - 力扣(Leetcode)

   dp[i][j]是判断翻转[i,j]是否符合条件
    递推公式 
    if(s[i]>s[j])dp[i][j]=1  (6xxx1)开头就能判断
    else if(s[i]<s[j]) (1xxx9)肯定没戏
    else dp[i][j]=dp[i+1][j-1]  开头相等由内部决定 

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. const int MAX=1e5+10;
  4. int dp[5005][5005];
  5. int main()
  6. {
  7. string s;
  8. cin>>s;
  9. int n=s.size();
  10. /*dp[i][j]是判断翻转[i,j]是否符合条件
  11. 递推公式
  12. if(s[i]>s[j])dp[i][j]=1 (6xxx1)开头就能判断
  13. else if(s[i]<s[j]) (1xxx9)肯定没戏
  14. else dp[i][j]=dp[i+1][j-1] 开头相等由内部决定
  15. */
  16. int res=0;
  17. for(int i=n-1;i>=0;i--)
  18. {//由递推公式决定的递推顺序
  19. for(int j=i+1;j<n;j++)
  20. {
  21. if(s[i]>s[j])dp[i][j]=1 ;
  22. else if(s[i]<s[j])dp[i][j]=0;
  23. else dp[i][j]=dp[i+1][j-1];
  24. if(dp[i][j])res++;//记录
  25. }
  26. }
  27. cout<<res;
  28. return 0;
  29. }

后面题还不适合我这个蒻季做,参考大佬的

(44条消息) 2023第十四届蓝桥杯 C/C++大学生A组省赛 满分题解_Code92007的博客-CSDN博客

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/552667
推荐阅读
相关标签
  

闽ICP备14008679号