手算与思维题

15 届蓝桥杯 14 天省赛冲刺营 1 期 - 门牌制作 - 蓝桥云课 (lanqiao.cn)

复制所有的数 到word中用查找功能找到2的个数

15 届蓝桥杯 14 天省赛冲刺营 1 期 - 迷宫 - 蓝桥云课 (lanqiao.cn)

//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

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) 

#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类型比大小 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值