蓝桥杯2022CB

暴力偏分,呜呜呜,题目好难~

1|0A

int main() { string s = "2022";int r = 0; for(auto x:s) { r = r*9+x-'0'; } cout<<r; return 0; }

2|0B

#include<bits/stdc++.h> using namespace std; #define ll long long int s[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31}; int main() { int res = 0; for(int i = 1;i<13;i++) { string r = to_string(i); string rt = to_string(s[i]); if(i<10)) r = "0"+r; if(rt.size()<2) rt = "0"+rt; r+=rt; if((s[1]-s[0]==1&&s[2]-s[1]==1)||(s[2]-s[1]==1&&s[3]-s[2]==1)) res++; } cout<<res; }

3|0C

#include<bits/stdc++.h> using namespace std; #define ll long long ll a,b,n; int main() { cin>>a>>b>>n; ll day = 0; ll sev = 5*a+2*b; day += (n/sev)*7; n%=sev; if(n>5*a) { n-=5*a;day+=5; while(n>0) { n-=b; day++; } } else { while(n>0) { n-=a; day++; } } cout<<day; return 0; }

4|0D

#include<bits/stdc++.h> using namespace std; #define ll long long const int N = 1100,p = 1e9+7; ll a[N],b[N]; int n,m; int main() { cin>>n; for(int i = 1;i<=n;++i) { int x = max(2*n-2*i-1,2*i-3)+1; cout<<x<<endl; } return 0; }

5|0E

cout<<"94";

6|0F

#include<bits/stdc++.h> using namespace std; #define ll long long const int N = 1100,p = 1e9+7; ll a[N][N]; ll f[N][N]; int n,m; ll k; bool ck(int a,int b,int c,int d) { return f[c][d] - f[a][d]-f[c][b]+f[a][b]<=k; } int main() { cin>>n>>m>>k; for(int i = 1;i<= n; ++i) for(int j = 1;j<= m; ++j) cin>>a[i][j]; for(int i = 1;i<= n; ++i) for(int j = 1;j<= m; ++j) { f[i][j]=f[i-1][j]+f[i][j-1]-f[i-1][j-1]+a[i][j]; } ll res = 0; for(int i = 0;i<= n; ++i) for(int j = 0;j<= m; ++j) for(int o = i+1;o <= n;o++) for(int l = j+1;l<=m; ++l) if(ck(i,j,o,l)) res = res+1%p; cout<<res; return 0; }

7|0G

#include<iostream> using namespace std; const int N = 1e7+10, MOD = 1000000007; int f[N]; int main() { f[1] = 1; f[2] = 2; f[3] = 5; int n; cin >> n; for(int i = 4; i <= n; i ++) { f[i] = (2*f[i-1]+f[i-3])%MOD; } cout << f[n]; return 0; }

8|0H

//错误代码 #include<bits/stdc++.h> using namespace std; const int N = 1e5+9; int n,m; int f[N]; int find(int x) { if(x != f[x]) return x=find(f[x]); else return x; } struct poi { double x,y,z; }p[N]; bool ck(int i,int j) { double z = max(p[i].z,p[j].z); z*=z; double s = abs(p[i].x-p[j].x)*abs(p[i].x-p[j].x)+abs(p[i].y-p[j].y)+abs(p[i].y-p[j].y); return s<=z; } int main() { ios::sync_with_stdio(false),cin.tie(0); cin>>n>>m; for(int i = 1;i<m+n+2;i++) f[i] = i; for(int i = 0;i<n;i++) { double a,b,c; cin>>a>>b>>c; p[i] = {a,b,c}; for(int j = 0;j<i;++j) { if(ck(i,j)) f[i] = find(f[j]); } } //for(int i = 0;i<n;++i) cout<<f[i]<<' '; set<int> s; for(int i = 0;i<m;i++) { double a,b,c; cin>>a>>b>>c; p[n+i] = {a,b,c}; for(int j = 0;j<n;++j) if(ck(j,n+i)&&!s.count(find(f[j]))) s.insert(find(f[j])); } int res = 0; for(int j = 0;j<n;++j) if(s.count(f[j])) res++; cout<<res; return 0; }

9|0I

#include<bits/stdc++.h> using namespace std; #define ll long long const int N = 1100,p = 1e9+7; int m,n; unordered_set<string> st; void dfs(int a,int b,string s,ll lv) { if(lv<0||s.size()>n+m) return ; if(s.size() == n+m&&s[n+m-1]=='0'&&lv ==0) { if(!st.count(s)) st.insert(s); return ; } if(a>0) dfs(a-1,b,s+'1',lv*2); if(b>0) dfs(a,b-1,s+'0',lv-1); } int main() { cin>>n>>m; dfs(n,m,"",(ll)2); cout<<st.size(); return 0; }

10|0J

#include<bits/stdc++.h> using namespace std; #define ll long long const int N = 2e5+9,p = 1e9+7; ll a[N]; int n,m; int main() { cin>>n;ll s = 0; for(int i = 1;i<=n;i++) scanf("%d",&a[i]),s+=a[i]; int k = 0; while(s!=n) { int x = max_element(a+1,a+1+n)-a;//cout<<x<<' '; int t = a[x]; a[x] = sqrt(a[x]/2+1); s -= t-a[x]; for(int i = x+1;i<=n;i++) { if(a[i]==t) a[i]=a[x],s-=t-a[x]; else break; } k++; } cout<<k; return 0; }

__EOF__

本文作者InsiApple
本文链接https://www.cnblogs.com/InsiApple/p/16122375.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   InsiApple  阅读(201)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示