15 届蓝桥杯 14 天省赛冲刺营 1 期 - 门牌制作 - 蓝桥云课 (lanqiao.cn)
复制所有的数 到word中用查找功能找到2的个数
15 届蓝桥杯 14 天省赛冲刺营 1 期 - 迷宫 - 蓝桥云课 (lanqiao.cn)
cpp
//1.暴搜
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=12;
const int mod=998244353;
char a[N][N];
int ans=0;
bool check(int x,int y){
if(x<1||y<1||x>10||y>10)return true;
return false;
}
bool vis[N][N];
int cnt=0;
void dfs(int x,int y){
if(check(x,y)){
cnt++;
return ;
}
if(a[x][y]=='U'&&!vis[x-1][y]){vis[x-1][y]=1;dfs(x-1,y);}
if(a[x][y]=='D'&&!vis[x+1][y]){vis[x+1][y]=1;dfs(x+1,y);}
if(a[x][y]=='L'&&!vis[x][y-1]){vis[x][y-1]=1;dfs(x,y-1);}
if(a[x][y]=='R'&&!vis[x][y+1]){vis[x][y+1]=1;dfs(x,y+1);}
return ;
}
void solve(){
string s1=" UDDLUULRUL";
for(int i=1;i<=10;i++)a[1][i]=s1[i];
string s2=" UURLLLRRRU";
for(int i=1;i<=10;i++)a[2][i]=s2[i];
string s3=" RRUURLDLRD";
for(int i=1;i<=10;i++)a[3][i]=s3[i];
string s4=" RUDDDDUUUU";
for(int i=1;i<=10;i++)a[4][i]=s4[i];
string s5=" URUDLLRRUU";
for(int i=1;i<=10;i++)a[5][i]=s5[i];
string s6=" DURLRLDLRL";
for(int i=1;i<=10;i++)a[6][i]=s6[i];
string s7=" ULLURLLRDU";
for(int i=1;i<=10;i++)a[7][i]=s7[i];
string s8=" RDLULLRDDD";
for(int i=1;i<=10;i++)a[8][i]=s8[i];
string s9=" UUDDUDUDLL";
for(int i=1;i<=10;i++)a[9][i]=s9[i];
string s10=" ULRDLUURRR";
for(int i=1;i<=10;i++)a[10][i]=s10[i];
for(int i=1;i<=10;i++){
for(int j=1;j<=10;j++){
memset(vis,0,sizeof vis);
vis[i][j]=1;
dfs(i,j);
}
}
cout<<cnt;
return ;
}
int main(){
int t=1;
while(t--)solve();
return 0;
}
也可以直接手算模拟 如果不行可以直接一个一个试到100
15 届蓝桥杯 14 天省赛冲刺营 1 期 - 星期一 - 蓝桥云课 (lanqiao.cn)
利用excel的功能 输入1901年1月1日 再输入2000年12月31日 可得到前者为星期2 后者为星期7
选择日期和时间 可以计算出两者之间有36524天 而36524-5=36519 %7==5417所以答案为5417
15 届蓝桥杯 14 天省赛冲刺营 1 期 - 乘积尾零 - 蓝桥云课 (lanqiao.cn)
大数据的计算可以用python
cpp
import os//引入头文件
import sys
//注意格式
data = "5650 4542 3554 473 946 4114 3871 9073 90 4329 \
2758 7949 6113 5659 5245 7432 3051 4434 6704 3594 \
9937 1173 6866 3397 4759 7557 3070 2287 1453 9899 \
1486 5722 3135 1170 4014 5510 5120 729 2880 9019 \
2049 698 4582 4346 4427 646 9742 7340 1230 7683 \
5693 7015 6887 7381 4172 4341 2909 2027 7355 5649 \
6701 6645 1671 5978 2704 9926 295 3125 3878 6785 \
2066 4247 4800 1578 6652 4616 1113 6205 3264 2915 \
3966 5291 2904 1285 2193 1428 2265 8730 9436 7074 \
689 5510 8243 6114 337 4096 8199 7313 3685 211"
num=data.split()//表示大小
s=1//用于存乘积
for i in num://对于大小中的每一个数
s=s*int(i)//乘上
cnt=0
while s%10==0://注意缩进
s//=10
cnt+=1
print(cnt)
15 届蓝桥杯 14 天省赛冲刺营 1 期 - 付账问题 - 蓝桥云课 (lanqiao.cn)
cpp
#include <bits/stdc++.h>
using namespace std;
const int N=5e5+7;
#define int long long
int a[N];
signed main(){
int n,s;cin>>n>>s;
for(int i=1;i<=n;i++)cin>>a[i];
sort(a+1,a+n+1);
double aver=1.0*s/n;
double ans=0;
for(int i=1;i<=n;i++){
if(a[i]*(n-i+1)<s){//一般不要取用小数的比大小
//钱不够就都交出来
ans+=1.0*(a[i]-aver)*(a[i]-aver);
s-=a[i];
}else{
//剩下的人钱都够
double cur=1.0*s/(n-i+1);
ans+=(cur-aver)*(cur-aver)*(n-i+1);
break;
}
}
printf("%.4lf",sqrt(ans/n));
return 0;
}
比大小的时候尽量转化为int类型比大小