IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 《2015年蓝桥杯C++b组》 -> 正文阅读

[C++知识库]《2015年蓝桥杯C++b组》

A-星系炸弹

题目描述
在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。
每个炸弹都可以设定多少天之后爆炸。
比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。
有一个贝塔炸弹,a年b月c日放置,定时为n天,请你计算它爆炸的准确日期。
输入格式
输入存在多组数据,每组数据输入一行,每一行输入四个正整数a,b,c,n
输入保证日期在1000-01-01到2020-01-01之间,且日期合法。
n不超过1000
输出格式
请填写该日期,格式为 yyyy-mm-dd 即4位年份2位月份2位日期。比如:2015-02-19
请严格按照格式书写。不能出现其它文字或符号。
输入样例 复制
2015 1 1 15
2014 11 9 1000
输出样例 复制
2015-01-16
2017-08-05
数据范围与提示
题目已改编。
//这个题目很简单,就是计算日期模板吧,就可以算出来

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define inf 0x7fffffff
int moth[13]= {0,31,28,31,30,31,30,31,31,30,31,30,31};
int main() {
    int a,b,c,n;
while(cin>>a>>b>>c>>n){
    while(n--) {
        if(a%400==0||(a%4==0&&a%100!=0)) moth[2]=29;
        else moth[2]=28;
        if(c==moth[b]) {
            if(b==12) {
                b=1;
                a++;
                c=1;
            }else{
                b++;
                c=1;
            }
        }else c++;
    }
    printf("%d-%02d-%02d\n",a,b,c);
}
    return 0;
}

B-牌型种数

题目描述
小明被劫持到X赌城,被迫与其他3人玩牌。
一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。
这时,小明脑子里突然冒出一个问题:
如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序
自己手里能拿到的初始牌型组合一共有多少种呢?
输出格式
请输出该整数,不要输出任何多余的内容或说明文字。
//暴力,每人13张牌,不考虑花色,每张牌最少为0,最多为1

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
using namespace std;
#define ll long long
const ll int N=1e9+7;
int ans=0;
int main(){
	for(int a1=0;a1<=4;a1++){
		for(int a2=0;a2<=4;a2++){
			for(int a3=0;a3<=4;a3++){
				for(int a4=0;a4<=4;a4++){
					for(int a5=0;a5<=4;a5++){
						for(int a6=0;a6<=4;a6++){
								for(int a7=0;a7<=4;a7++){
									for(int a8=0;a8<=4;a8++){
										for(int a9=0;a9<=4;a9++){
											for(int a10=0;a10<=4;a10++){
												for(int a11=0;a11<=4;a11++){
													for(int a12=0;a12<=4;a12++){
														for(int a13=0;a13<=4;a13++){
															if(a1+a2+a3+a4+a5+a6+a7+a8+a9+a10+a11+a12+a13==13){
																ans++;
															}
		
	}	
	}	
	}	
	}	
	}	
	}	
	}	
	}
	}
	}
	}
	}
	}
	cout<<ans<<endl;
}//3598180
 

C-奖券数目

题目描述
有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。
虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。
某抽奖活动奖券号码是5位数(10000-99999),要求其中不要出现带“4”的号码。
主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。
输出格式
请提交该数字(一个整数),不要写任何多余的内容或说明性文字
//计算出带4的数字总和然后减去

#include<iostream>
#include<algorithm>
using namespace std;
int main(){
    int sum=0;
    for(int i=10000;i<=99999;i++){
        int t=i;
        while(t){
            if(t%10==4){
                sum++;
                break;
            }
            t=t/10;
        }
    }
    cout<<99999 - 10000 + 1 - sum <<endl;
    return 0;
} 

D-三羊献瑞

题目描述
观察下面的加法算式:
在这里插入图片描述

其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。
输出格式
请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。
//这个题目其实特别简单,我们会发现一共有8个不相等的数字,两个四位数相加等于一个五位数,那么我们直接枚举就可以。我写的代码没有去掉首位(千位)为0的情况,所以运行结果出来,我们去掉首位(千位)为0的情况,我们会发现只有1085是满足条件的(写完这个代码,运行成功,结果正确,我顿时冒了一下冷汗,说实话没想到这样可以)

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define inf 0x7fffffff
int main()
{
   for(int a1=0;a1<=9;a1++){
   	for(int a2=0;a2<=9;a2++){
   	for(int a3=0;a3<=9;a3++){
   	for(int a4=0;a4<=9;a4++){
   	for(int a5=0;a5<=9;a5++){
   	for(int a6=0;a6<=9;a6++){
   	for(int a7=0;a7<=9;a7++){
   	for(int a8=0;a8<=9;a8++){
   	if((a1*1000+a2*100+a3*10+a4)+(a7*1000+a6*100+a5*10+a2)==(a7*10000+a6*1000+a3*100+a2*10+a8))
   	{
   		if(a1!=a2&&a1!=a3&&a1!=a4&&a1!=a5&&a1!=a6&&a1!=a7&&a1!=a8&&
		   a2!=a3&&a2!=a4&&a2!=a5&&a2!=a6&&a2!=a7&&a2!=a8&&
		   a3!=a4&&a3!=a5&&a3!=a6&&a3!=a7&&a3!=a8&&
		   a4!=a5&&a4!=a6&&a4!=a7&&a4!=a8&&
		   a5!=a6&&a5!=a7&&a5!=a8&&
		   a6!=a7&&a6!=a8&&
		   a7!=a8)
   	   cout<<a1<<a2<<a3<<a4<<"+"<<a7<<a6<<a5<<a2<<"="<<a7<<a6<<a3<<a2<<a8<<endl; 
   }
   }
   }
   }
   }
   }
   }
   }
   }
    return 0;
}

E-加法变乘法

题目描述
我们都知道:1+2+3+ … + 49 = 1225
现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015
比如:
1+2+3+…+1011+12+…+2728+29+…+49 = 2015 就是符合要求的答案。
请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交。
(对于示例,就是提交10)。
输出格式
注意:需要你提交的是一个整数,不要填写任何多余的内容。
//对不起了铁子们,我太菜了,这个题我还是暴力写出来的(暴力算是让我使明白了)

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define inf 0x7fffffff
int main() {
    /*int a[10],sum,t;
    for(int i=1; i<=49; i++) {//模拟第一次乘号的位置 
        for(int j=i+2; j<=49; j++) {//模拟第二次乘号的位置 
            sum=0,t=0;//sum求和 
            for(int k=1; k<=49; k++)//从1~49相加 
                if(k==i||k==j) {//乘号的位置 
                    a[t++]=(k-1);//存放乘号 
                    sum=sum-(k-1)+(k-1)*k;
                } else
                    sum+=k;
            if(sum==2015) {//满足条件 
                for(int i=0; i<t; i++)
                    cout<<a[i]<<" ";
            }
        }
    }//10 27 16 24*/
    cout<<16<<endl;
        return 0;
    }

F-移动距离题目描述

X星球居民小区的楼房全是一样的,并且按矩阵样式排列。
其楼房的编号为1,2,3… 当排满一行时,从下一行相邻的楼往反方向排号。
比如:当小区排号宽度为6时,开始情形如下:
1 2 3 4 5 6
12 11 10 9 8 7
13 14 15 …
我们的问题是:已知了两个楼号m和n,需要求出它们之间的最短移动距离
(不能斜线方向移动)
输入格式
输入存在多组测试数据
输入为3个整数w m n,空格分开,都在1到10000范围内
w为排号宽度,m,n为待计算的楼号。
输出格式
要求输出一个整数,表示m n 两楼间最短移动距离。
输入样例 复制
6 8 2
4 7 20
输出样例 复制
4
5
//这个题目算是规律题吧,对除以W可以求出距离第一行的距离(判断距离第一行的距离时,需要减一, 例如w为6 ,n为6 n/w=1,但其实他离第一行的距离是0),然后判断距离是奇数还是偶数。找出奇数行、偶数行到最右边的距离规律

#include<cstdio>
#include<iostream>
#include<cmath>
using namespace std;
int main() {
	int w,m,n;
	int x1,y1;
	int x2,y2;
	while(cin>>w>>m>>n) {
		x1=(m-1)/w;//判断m距离第一行的距离 
		x2=(n-1)/w;//判断n距离第一行的距离 
		if(x1%2!=0) y1=m%w-1;//m在奇数行到最右边的距离 
		else y1=w-m%w;//m在偶数行到最右边的距离 
		if(x2%2!=0) y2=n%w-1;//n在奇数行到最右边的距离 
		else y2=w-n%w;//n在偶数行到最右边的距离 
		  cout<<abs(x1-x2)+abs(y1-y2)<<endl;
		  //上下相减求差值加上左右相减取差值 
	}
	return 0;
}

总结

2022年3月19号,距离蓝桥杯还有20天,我还差21年的蓝桥杯题目没有刷,我现在已经慢慢开始会写两三道填空题了,好起来了,好起来了。拜托!你们要是只看我帖子不点赞,我会很伤心的。。。。。哈哈哈哈哈,我要努力我要参加国赛,一起加油!!!

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-03-21 20:30:29  更:2022-03-21 20:33:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 2:30:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码