手算与思维题

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

相关推荐
ragnwang3 小时前
C++ Eigen常见的高级用法 [学习笔记]
c++·笔记·学习
lqqjuly6 小时前
特殊的“Undefined Reference xxx“编译错误
c语言·c++
冰红茶兑滴水7 小时前
云备份项目--工具类编写
linux·c++
刘好念7 小时前
[OpenGL]使用 Compute Shader 实现矩阵点乘
c++·计算机图形学·opengl·glsl
酒鬼猿7 小时前
C++进阶(二)--面向对象--继承
java·开发语言·c++
姚先生978 小时前
LeetCode 209. 长度最小的子数组 (C++实现)
c++·算法·leetcode
小王爱吃月亮糖8 小时前
QT开发【常用控件1】-Layouts & Spacers
开发语言·前端·c++·qt·visual studio
aworkholic9 小时前
opencv sdk for java中提示无stiching模块接口的问题
java·c++·opencv·jni·opencv4android·stiching
程序员老冯头9 小时前
第十六章 C++ 字符串
开发语言·c++
Xenia2239 小时前
复习篇~第二章程序设计基础
c++·算法