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;
}
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() {
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;
x2=(n-1)/w;
if(x1%2!=0) y1=m%w-1;
else y1=w-m%w;
if(x2%2!=0) y2=n%w-1;
else y2=w-n%w;
cout<<abs(x1-x2)+abs(y1-y2)<<endl;
}
return 0;
}
总结
2022年3月19号,距离蓝桥杯还有20天,我还差21年的蓝桥杯题目没有刷,我现在已经慢慢开始会写两三道填空题了,好起来了,好起来了。拜托!你们要是只看我帖子不点赞,我会很伤心的。。。。。哈哈哈哈哈,我要努力我要参加国赛,一起加油!!!
|