蓝桥杯2016年第七届C++B组

2016年第七届C/C++ B组蓝桥杯省赛真题 2013年第四届C/C++ B组蓝桥杯省赛真题真题第一题:煤球数目第二题:生日蜡烛第三题:凑算式第四题:快速排序第五题:抽签第六题:方格填数第七题:剪邮票第八题:四平方和第九题:交换瓶子第十题:最大比例题解第一题:煤球数目第二题:生日蜡烛第三题:凑算式第四题:快速排序第五题:抽签第六题:方格填数第七题:剪邮票第八题:四平方和第九题:交换瓶子第十题:最大比例 真题 第一题:煤球数目 题目描述 第二题:生日蜡烛 题目描述 第三题:凑算式 题目描述 第四题:快速排序 题目描述 第五题:抽签 题目描述 第六题:方格 阅读详情

蓝桥杯2016年第七届C++B组

在这里插入图片描述
在这里插入图片描述

#include <iostream>
#include <algorithm>

using namespace std;

int main() {
	int ans = 600;
	for (int i = 0; i <= 300; i ++) {
		for (int j = 0; j <= 300; j ++) {
			if (i * 97 - j * 127 == 1) {
				ans = min(ans, i + j);
			}
		}
	}
	cout << ans << endl;
	return 0;
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

const int maxn = 1 << 10;

vector<int> nums;
int ans = 0;

void check(long long x) {
	int status = 0;
	if (x == 0) status = 1;
	while (x) {
		if ((status & (1 << (x % 10))) != 0) return;
		status != (1 << (x % 10));
		x /= 10;
	}
	nums.push_back(status);
}

void dfs(int x, int y) { // 从第x个合法数字往后取,当前组合状态为y 
	if (y == (1 << 10) - 1) {
		ans ++;
		return;
	}
	for (int i = x; i < nums.size(); i ++) {
		if ((nums[i] & y) == 0) {
			dfs(i + 1, nums[i] | y);
		}
	}
}

int main() {
	for (long long i = 0; i <= 100000; i ++) {
		check(i * i);
	}
	dfs(0, 0);
	cout << ans << endl;
	return 0;
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
#include <algorithm>

using namespace std;

int m, n;

int nbit(int num) {
	int ans = 0;
	while (num) {
		num = (num - 1) & num;
		ans ++;
	}
	return ans;
}

bool check(int now, int floor) {
	int num_a = 0, num_b = 0;
	for (int i = floor; i >= 1; i --) {
		int count1 = nbit(now);
		num_b += count1;
		num_a += i - count1;
		now ^= now >> 1;
		now &= (1 << (i - 1)) - 1;
		if (num_a > m || num_b >> n) return false;
	}
	return num_a == m && num_b == n;
}

int main()
{
	cin >> m >> n;
	int floor = sqrt((n + m) * 2);
	int ans = 0;
	for (int i = 0; i < (1 << floor); i ++) {
		if (check(i, floor)) ans ++;
	}
	cout << ans << endl;
	return 0;
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#include<iostream>
#include<math.h>
#include<algorithm>

using namespace std;

struct Point {//点
    int x;
    int y;
}P[1010];
struct Line{//线:两个点构成
    Point a;
    Point b;
}L[1010];
struct I_Y{//线的下标编号,还有对应的纵坐标
    int index;
    double y;
}ans[1010];
int N,sum = 0;//点的总数,方块的总数
bool cmp (struct I_Y a,struct I_Y b)//纵坐标排序
{
    return a.y<b.y;
}
int max(int a,int b)
{
    return a>b?a:b;
}
int min(int a,int b){
    return a>b?b:a;
}
double F_y(struct Line l,double x)//求线l经过横坐标为x的点的纵坐标,简单的几何计算。
{
    double x1 = fabs(l.a.x-l.b.x);
    double x2 = fabs(x - l.a.x);
    double y = (l.b.y-l.a.y)*x2/x1 + l.a.y;
    return y;
}
void solve()
{
    int minx ,maxx,i,j,k,count,ax,bx;
    minx = P[0].x;
    maxx = P[0].x;
    for(i=0;i<N;i++){//寻找最小、大横坐标
        if(P[i].x>maxx){
            maxx = P[i].x;
        }
        if(P[i].x<minx){
            minx = P[i].x;
        }
    }
    for(i=minx+1;i<=maxx;i++){//计算每个小长条中的小正方形数量
        count = 0;
        for(j=0;j<N;j++){
            ax = L[j].a.x;
            bx = L[j].b.x;
            if((ax<=i-1&&bx>=i) || (ax>=i && bx <=i-1)){//当这条线和x = i有交点时,记录线编号和交点纵坐标
                ans[count].index = j;
                ans[count].y = F_y(L[j],(i+i-1)/2.0);
                count++;
            }
        }
        sort(ans,ans+count,cmp);//排序
        for(k=0;k<count/2;k++){//向上取整函数 double ceil(double x) 向下取整是double floor(double x) 在#include<math.h>中
            int y1 = max((int)ceil(F_y(L[ans[k*2].index],i)),(int)ceil(F_y(L[ans[k*2].index],i-1)));
            int y2 = min((int)floor(F_y(L[ans[k*2+1].index],i)),(int)floor(F_y(L[ans[k*2+1].index],i-1)));
        //    printf("y1 = %d ,y2 = %d\n",y1,y2);
            if(y2-y1>0){
                sum+=y2-y1;
            }
        }
    }
    cout<<sum<<endl;
}
int main()
{
    int x,y;
    cin>>N;
    for(int i=0;i<N;i++){
        cin>>x>>y;
        P[i].x = x;
        P[i].y = y;
    }
    L[0].a = P[0];//第一个点和最后一个点构成一条线
    L[0].b = P[N-1];
    for(int i=1;i<N;i++){
        L[i].a = P[i];//相邻两点构成一条线
        L[i].b = P[i-1];
    }
    solve();
    return 0;
}
2016年省赛第七届蓝桥杯B组C/C++第一题解 煤球数量 标题:煤球数量 有一堆煤球,堆成三角棱锥形。具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), … 如果一共有100层,共有多少个煤球? 请填表示煤球总数目的数字。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 答案:171700 #include<iostream> using namespace std; int main(){ int t=0,sum=0; for(int i=1;i<=100; 阅读详情

相关推荐

树莓派4在Bookworm Raspbian系统下无法进入桌面模式(启动后出现彩色画面,然后一直黑屏,但是可以正常启动和ssh)

本文记录了这段比较坎坷的探索之路,由于你的问题不一定是我最终解决方案的,可能是前面探索路上试过的,所以建议按顺序看排除前置问题。 双十一又买了个树莓派 4B,插上之前树莓派 4B 的 TF 卡直接就能使用(毕竟是一样规格的)。但是由于用来连接硬盘的 USB 线是坏的,我以为是系统问题就进行了重装(所以坏掉的线还是直接扔了好)。 重新安装系统就装了最新的 2023-10-10 版本的 64 位的 Raspberry Pi OS,但是出现了一个问题: 启动后出现彩色画面,然后一直黑屏。

ZhongUncle的博客 3735

牛客竞赛语法入门班选择结构习题C++版本参考代码及部分解析

牛客竞赛语法入门班选择结构习题 C语言版本的参考代码

smallrain6的博客 2600

AI编程工具深度横评2026:Claude Code × Cursor × Trae × OpenCode,7场景实测+完整免费配置

2026年AI编程工具已进入"自主Agent"时代:Claude Code以80.8% SWE-bench得分领跑编程能力,Cursor 3在用户体验和多Agent协作方面突出,GitHub Copilot保持企业市场优势。这些工具分别代表不同的使用哲学:命令行原生、IDE分支、平台集成、编辑器扩展和后起之秀。本文从开发者视角出发,通过7个真实编程场景的系统性测试,给出每款工具在具体场景下的表现评估和免费使用完整配置方案。所有代码均可直接复制运行,所有工具均有免费使用路径。

撂爪就忘的博客 5780

蓝桥杯2016年第七届决赛C_C++程序设计本科B组

1.一步之遥 从昏迷中醒来,小明发现自己被关在X星球的废矿车里。 矿车停在平直的废弃的轨道上。 他的面前是两个按钮,分别写着“F”和“B”。 小明突然记起来,这两个按钮可以控制矿车在轨道上前进和后退。 按F,会前进97米。按B会后退127米。 透过昏暗的灯光,小明看到自己前方1米远正好有个监控探头。 他必须设法使得矿车正好停在摄像头的下方,才有机会争取同伴的援助。 或许,通

技术并不是我们的全部 3676

Kindle电子书DRM破解全攻略:从下载到转换的完整流程(含最新DeDRM插件配置)

本文详细介绍了2025年最新Kindle电子书DRM移除的完整实战流程。针对亚马逊加密机制的升级,文章重点讲解了如何配置最新的DeDRM插件、从新版Kindle客户端提取密钥,并利用Calibre完成电子书的解密与格式转换,为个人备份提供了一套可行的解决方案。

weixin_29279153的博客 1728

U-Net图像分割实战:从论文解析到PyTorch代码实现

本文深入解析了U-Net图像分割模型的经典架构与核心思想,并提供了从零开始的PyTorch代码实现教程。通过详细拆解编码器-解码器结构、跳跃连接等关键组件,手把手指导读者构建完整的U-Net网络,涵盖数据准备、模型训练、推理部署全流程,是掌握图像分割实战技能的实用指南。

fire9的博客 341

最简真分数

题目描述 给出n个正整数,任取两个数分别作为分子和分母组成最简真分数,编程求共有几个这样的组合。 输入描述: 每组包含n(n<=600)和n个不同的整数,整数大于1且小于等于1000。 输出描述: 每行输出最简真分数组合的个数。 示例1 输入 7 3 5 7 9 11 13 15 3 2 4 5 0 输出 17 2 //方法一 #include<iostream> #include<algorithm> using namespace s

sang_12345的博客 1017

C语言试题三之计算并输出 s=1+(1+2^(0.5))+(1+2^(0.5)+3^(0.5))+…+(1+2^(0.5)+3^(0.5)+…+n^(0.5))

1 、题目 计算并输出 s=1+(1+2^(0.5))+(1+2^(0.5)+3^(0.5))+…+(1+2^(0.5)+3^(0.5)+…+n^(0.5)) 2、部分函数说明 C 库函数 double pow(double x, double y) 返回 x 的 y 次幂。 3、源代码实现 #include <stdio.h> #include <...

码莎拉蒂 4609

2016年第七届蓝桥杯c c++B组

2016年第七届蓝桥杯c c++B组

Tanzq的博客 280

增益可控放大电路-电路与电子技术课程设计

增益可控放大电路-电路与电子技术课程设计

Yeats_Liao的博客 1万+

解决pd.read_json报错ValueError: Trailing data问题

首先,我们使用open函数打开JSON文件,然后使用json.load函数将JSON文件数据解码为Python对象。在使用Python进行数据处理中,我们经常需要将JSON格式的数据读入到DataFrame中进行处理。而使用pandas库的read_json函数,就可以方便地将JSON数据读入到DataFrame中。但是有时候在读取JSON数据时,会遇到一个非常常见的错误:ValueError: Trailing data。这个错误的解决方案并不难,只需要在read_json中添加一个参数即可。

学习使你进步。 2234

2016年第七届蓝桥杯【C++省赛B组】【题目汇总】

2016年第七届蓝桥杯C/C++程序设计本科B组省赛题目汇总 1、煤球数目 2、生日蜡烛 3、凑算式 4、快速排序 5、抽签 6、方格填数 7、剪邮票 8、四平方定理 9、交换瓶子...

老陈聊架构 6225

图神经网络实战(2)——图论基础

图论 (Graph theory) 是数学的一个基本分支,涉及对图研究。图是复杂数据结构的可视化表示,有助于理解不同实体之间的关系。图论提供了大量建模和分析现实问题的工具,如交通系统、社交网络和互联网等。在本节中,将介绍图论的基本原理,主要涉及三个方面:图属性、图概念和图算法。

盼小辉丶的博客 1万+

蓝桥杯2016年第七届C/C++ B组省赛习题题解

蓝桥杯2016年第七届C/C++ B组省赛习题题解

lihua777的博客 1169

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

2016年第七届蓝桥杯省赛C++B组C题

2016年第七届蓝桥杯省赛C++B组C题 凑算式 这个算式中A~I代表1 ~9的数字,不同的字母代表不同的数字。 比如: 6+8/3+952/714 就是一种解法, 5+3/1+972/486 是另一种解法。 这个算式一共有多少种解法? 好了看到这道题的第一眼我想的是搜索。。 其实搜索可以。但是排列更加简单。用next_permutation() 嘻嘻嘻暴力算一下就可以啦~ 代码很简短,很容易看...

qq_44624316的博客 186

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

2016年第七届蓝桥杯C++B组G题

2016年第七届蓝桥杯C++B组G题 最大比例 X星球的某个大奖赛设了M级奖励。每个级别的奖金是一个正整数。 并且,相邻的两个级别间的比例是个固定值。 也就是说:所有级别的奖金数构成了一个等比数列。比如: 16,24,36,54 其等比值为:3/2 现在,我们随机调查了一些获奖者的奖金数。 请你据此推算可能的最大的等比值。 输入格式: 第一行为数字N(n<100),表示接下的一行包含N个正整...

qq_44624316的博客 226

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

2016年第七届蓝桥杯国赛B组C++真题汇总

1. 一步之遥 从昏迷中醒来,小明发现自己被关在X星球的废矿车里。 矿车停在平直的废弃的轨道上。 他的面前是两个按钮,分别写着“F”和“B”。 小明突然记起来,这两个按钮可以控制矿车在轨道上前进和后退。 按F,会前进97米。按B会后退127米。 透过昏暗的灯光,小明看到自己前方1米远正好有个监控探头。 他必须设法使得矿车正好停在摄像头的下方,才有机会争取同伴的援助。 或许,通过多次操作F和B可以办到。 矿车上的动力已经不太足,黄色的警示灯在默默闪烁… 每次进行 F 或 B 操作都会消耗一定的能量。 小明飞快

小李的博客 1077

2016年第七届蓝桥杯C++B组F题

2016年第七届蓝桥杯C++B组F题 方格填数 如图,如下的10个格子,填入0~9的数字。要求:连续的两个数字不能相邻。 (左右、上下、对角都算相邻)一共有多少种可能的填数方案? 请填写表示方案数目的整数。 这道题也是组合问题啦~next_permutation解决,分分钟啊哈哈哈 就是judge的时候有点点麻烦,但是很直观,超简单的啦~ 不多说啦~直接代码部分嘻嘻 这道题目dfs也是可以跑的啦...

qq_44624316的博客 191

2016年第七届蓝桥杯c/c++省赛B组

2016年第七届蓝桥杯c/c++省赛B组 煤球数目 生日蜡烛 凑算式 快速排序 抽签 方格填数 剪邮票 四平方和 交换瓶子 最大比例

星星9 1万+

2016年第七届蓝桥杯C/C++程序设计本科B组省赛 抽签(代码填空)

抽签 X星球要派出一个5人组成的观察团前往W星。 其中: A国最多可以派出4人。 B国最多可以派出2人。 C国最多可以派出2人。 .... 那么最终派往W星的观察团会有多少种国别的不同组合呢? 下面的程序解决了这个问题。 数组a[] 中既是每个国家可以派出的最多的名额。 程序执行结果为: DEFFF CEFFF CDFFF CDEFF CCFFF CCE

A place to record sth. 7594

2016年第七届蓝桥杯C/C++程序设计本科B组省赛 方格填数(结果填空)

方格填数 如图,如下的10个格子,填入0~9的数字。要求:连续的两个数字不能相邻。 (左右、上下、对角都算相邻)一共有多少种可能的填数方案? 请填写表示方案数目的整数。 思路:这题方法很简单,暴力求解,依次向每个格子填数与已经填入的进行比较是否连续,即:是否两者之差的绝对值为1。比赛的时候一直在纠结,题干没有说明0~9的数字可以重复使用还是只能用一次,比赛时最后我按照可以重复使用提

A place to record sth. 9950

2016年第七届蓝桥杯C/C++程序设计本科B组省赛 最大比例(编程大题)

最大比例 X星球的某个大奖赛设了M级奖励。每个级别的奖金是一个正整数。 并且,相邻的两个级别间的比例是个固定值。 也就是说:所有级别的奖金数构成了一个等比数列。比如: 16,24,36,54 其等比值为:3/2 现在,我们随机调查了一些获奖者的奖金数。 请你据此推算可能的最大的等比值。 输入格式: 第一行为数字N,表示接下的一行包含N个正整数 第二行N个正整数Xi(

A place to record sth. 9589

2016年第七届蓝桥杯C/C++程序设计本科B组省赛 煤球数目(结果填空)

煤球数目 有一堆煤球,堆成三角棱锥形。具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), .... 如果一共有100层,共有多少个煤球? 请填表示煤球总数目的数字。 思路:1 2 3 4 5 6……这一个等差数列的前n项和为(1+n)*n/2 第1层的煤球数目为1 第2层的煤球数目为1+2

A place to record sth. 1万+

2016年第七届蓝桥杯C/C++程序设计本科B组省赛 剪邮票(结果填空)

剪邮票 如【图1.jpg】, 有12张连在一起的12生肖的邮票。 现在你要从中剪下5张来,要求必须是连着的。 (仅仅连接一个角不算相连) 比如,【图2.jpg】,【图3.jpg】中,粉红色所示部分就是合格的剪取。 请你计算,一共有多少种不同的剪取方法。 思路: 答案:116

A place to record sth. 2万+

2016年第七届蓝桥杯C/C++程序设计本科B组省赛 生日蜡烛(结果填空)

生日蜡烛 某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。 现在算起来,他一共吹熄了236根蜡烛。 请问,他从多少岁开始过生日party的? 请填写他开始过生日party的年龄数。 思路:1 2 3 4 5 6……这一个等差数列的前n项和为(1+n)*n/2 设从a岁开始过生日,到了b岁一共吹熄了236根蜡烛。 即为:(a+b)(b-

A place to record sth. 1万+
上一篇: 第十届蓝桥杯大赛软件类决赛Java大学B组
下一篇: 蓝桥杯第七届决赛真题JAVA大学C组
剑气扬名
博客等级 码龄7年 24粉丝 79原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值