topic A：

It's easy to figure out the answer 256 ride 1024 ride 1024 ride 8 divide 32

topic B：

Just simulate it directly , Use an array to record the number of times each number , When the number is not enough , You can't finish this number .
I want to vomit blood today , After the test, the reaction came to me 1 What's the maximum , I thought it wasn't enough at most , No reduction 1....
#include <bits/stdc++.h> using namespace std; int main() { int a[10]; for(int i
=0;i<9;i++) a[i]=2021; int n=1; while(1){ int s=n; while(s){ if(a[s%10]) a[s%10]
--; else break; s/=10; } if(s) break; else n++; } cout<<n-1<<'\n'; //
system("pause"); return 0; }

topic C:

It's not going to be made up ...

topic D：

Directly use an array to n All the factors of are stored in an array , Triple cycle simulation lwh, Count out the number that meets the condition .
#include <bits/stdc++.h> using namespace std; long long y[10000001]; int main()
{ long long n=2021041820210418; long long cur=sqrt(n); int index=0; for(int i=1;
i<cur;i++) if(n%i==0){ y[index++]=i; y[index++]=n/i; } int ans=0; if(cur*cur==n)
y[index++]=cur; for(int i=0;i<index;i++) for(int j=0;j<index;j++) for(int z=0;z
<index;z++) if(y[i]*y[j]*y[z]==n) ans++; cout<<ans; // system("pause"); return 0
; }

topic E：

I haven't written a picture for a long time , I forgot all about the templates , Be steady , direct floyd Yes , It's just multiple choice , Just get the right answer ... It took a minute for the answer to come out ...（ Of course, the positive solution is not , Ha ha ha ha ）
#include <bits/stdc++.h> using namespace std; long long g[2100][2100]; int main
() { for(int i=1;i<2050;i++) for(int j=1;j<2050;j++) g[i][j]=1e14; for(int i=1;i
<2050;i++) for(int j=i+1;j<=i+21;j++) { g[i][j]=i/__gcd(i,j)*j; g[j][i]=i/__gcd(
i,j)*j; } for(int i=1;i<2050;i++) for(int j=1;j<2050;j++) for(int k=1;k<2050;k++
) if((g[j][i]+g[i][k])<g[j][k]) g[j][k]=g[j][i]+g[i][k]; cout<<g[1][2021]; //
system("pause"); return 0; }