提示:此题解为本人自己解决,如有差错请大家多多指正。
文章目录
- 题解+总结
- 一、幸运数
- 二、[有奖问答](https://blog.csdn.net/A2105153335/article/details/130038980?spm=1001.2014.3001.5501)
- 三、[平方差](https://blog.csdn.net/A2105153335/article/details/130041559?spm=1001.2014.3001.5501)
- 四、[更小的数](https://blog.csdn.net/A2105153335/article/details/130042014?spm=1001.2014.3001.5501)
- 五、[颜色平衡树](https://blog.csdn.net/A2105153335/article/details/130091773?spm=1001.2014.3001.5501)后五道题还有一堆问题,我加油改正。大家有什么办法也提供提供。
- 六、[买瓜](https://blog.csdn.net/A2105153335/article/details/130095286?spm=1001.2014.3001.5501)
- 七、[网络稳定性](https://blog.csdn.net/A2105153335/article/details/130110606?spm=1001.2014.3001.5501)
- 八、[异或和之和](https://blog.csdn.net/A2105153335/article/details/130102987?spm=1001.2014.3001.5501)
- 九、[像素放置](https://blog.csdn.net/A2105153335/article/details/130110817?spm=1001.2014.3001.5501)
- 十、[翻转硬币](https://blog.csdn.net/A2105153335/article/details/130110924?spm=1001.2014.3001.5501)
- 总结
太菜了,太菜了,写个文章提醒我的菜,感觉受到了打击。自己还是菜,写的还不够多,一堆都忘了。dfs也不会写了。
题解+总结
一、幸运数
1.试题
2.解法
可以暴力求解,数位为两位时,有11,22,33,44,55,66,77,88,99共9个幸运数。然后分别枚举(1000-9999,100000-999999,10000000~99999999)然后加上幸运数的条件算出每个数段的幸运数个数来,加起来就是答案。(我暴力还写错了,真是太菜了!!!痛苦,今年大一爆0,明年省一等我!!!)
更新一种做法统计1-9999有多少位数为多少的和
3.代码
解法一:
#include<iostream>
using namespace std;
int main()
{
//数位为二:11,22,33,44,55,66,77,88,99:9种结果
int a=0,b=0,c=0,d=9;
for(int i=1000;i<=9999;i++)
{
if(i%10+i/10%10==i/100%10+i/1000%10)//个位+十位=百位+千位,下面依次类推
a++;//数位为四:结果为615
}cout<<a<<endl;
for(int i=100000;i<=999999;i++)
{
if(i%10+i/10%10+i/100%10==i/1000%10+i/10000%10+i/100000%10)
b++;
}cout<<b<<endl;
for(int i=10000000;i<=99999999;i++)
{
if(i%10+i/10%10+i/100%10+i/1000%10==i/10000%10+i/100000%10+i/1000000%10+i/10000000%10)
c++;
}
cout<<c<<endl;
cout<<d+a+b+c;//9+615+50412+4379055=4430091
return 0;
}
解法二:
#include <stdio.h>
int a[5][10000]={0};
void judge(int x)
{
int sum=0,i=0;
while(x>0){
sum+=x%10;
i++;
x/=10;
}
a[i][sum]++;
}
int main()
{
int count=0;
for(int i=1;i<=9999;i++)judge(i);
for(int i=1;i<=4;i++){
for(int j=1;j<=9*i;j++){
for(int k=1;k<=i;k++){
count+=a[i][j]*a[k][j];
}
}
}
printf("%d\n",count);
return 0;
}
二、有奖问答
三、平方差
四、更小的数
五、颜色平衡树后五道题还有一堆问题,我加油改正。大家有什么办法也提供提供。
六、买瓜
七、网络稳定性
八、异或和之和
九、像素放置
十、翻转硬币
总结
本次蓝桥杯让我深刻意识到了我的菜,上学期也没咋学,这学期听了一点y总的课,知识点知道了不少,但就是转化不成代码,真的很痛苦。接下来继续学习算法和数据结构,多做题,同时学一些框架,不能太痴迷于算法题了不然可能会断了自己的路,看个人水平吧还是,对于我来说是这样,然后看看学校的ICPC队能不能进去(进不去,,,),下周还有新生赛。。。。。。好羡慕厉害的学长和算法大佬们。。。。。。。。。。。。。。。。。。。。写完题解释然了,感觉前几道好简单还做错了。。。。。。。。。。。。。。。。。。。。。明年省一等我