第九届蓝桥杯国赛b组--备战国赛版h

第九届蓝桥杯国赛b组--备战国赛版h 第一题0换零钞 - 蓝桥云课模拟#include bits/stdc.h using namespace std; int main() { int a,b,c0; for(a1;a200;a)//一元钞票 { for(b1;b100;b)//两元钞票 { for(c1;c40;c)//五元钞票 { if(ba*10(ab*2c*5)200) { coutabcendl; return 0; } } } } return 0; }第二题0激光样式 - 蓝桥云课dfs枚举然后填空#include iostream using namespace std; int main() { // 请在此输入您的代码 cout2178309endl; return 0; } /* #includeiostream #includecstring #includealgorithm using namespace std; const int N30; int ans0; void dfs(int x,int last) { if(x30) { ans; return; } dfs(x1,last); if(last!x-1||last0) { dfs(x1,x); } } int main() { dfs(1,0); coutansendl; return 0; } */第三题0格雷码 - 蓝桥云课填空题是没想到的第四题0调手表 - 蓝桥云课用bfs#includeiostream #includecstring #includealgorithm #includequeue using namespace std; const int N100010; int n,k; int dist[N]; int main() { cinnk; memset(dist,-1,sizeof dist); queueint q; dist[0]0; q.push(0); while(q.size()) { int uq.front(); q.pop(); int v1(u1)%n; if(dist[v1]-1) { dist[v1]dist[u]1; q.push(v1); } int v2(uk)%n; if(dist[v2]-1) { dist[v2]dist[u]1; q.push(v2); } } int ans0; for(int i0;in;i) { ansmax(ans,dist[i]); } coutansendl; return 0; }第五题0搭积木 - 蓝桥云课想着是用dfs解决但是没有解决出来第六题0矩阵求和 - 蓝桥云课​​​​​​直接模拟--》拿到了10分#includeiostream #includecstring #includealgorithm using namespace std; const int N1010,MOD1e97; int gcd(int a,int b) { return b0?a:gcd(b,a%b); } int g[N][N]; int n; long long sum0; int main() { cinn; for(int i1;in;i) { for(int j1;jn;j) { int xgcd(i,j); g[i][j]x*x; sum(sumg[i][j])%MOD; } } coutsumendl; return 0; }