hdu 975 关于521
来源:互联网 发布:淘宝网元领小衫 编辑:程序博客网 时间:2024/05/21 07:01
关于521
时间限制:1000 ms | 内存限制:65535 KB
难度:2
- 描述
Acm队的流年对数学的研究不是很透彻,但是固执的他还是想一头扎进去。
浏览网页的流年忽然看到了网上有人用玫瑰花瓣拼成了521三个数字,顿时觉得好浪漫,因为每个男生都会不经意的成为浪漫的制造者。此后,流年走到哪里都能看到5、2、1三个数字,他怒了,现在他想知道在连续的数中有多少数全部包含了这三个数字。例如12356就算一个,而5111就不算。特别的,如果他看到了521三个数连续出现,会特别的愤怒。例如35210。
- 输入
- 多组测试数据:
一行给定两个数a,b(0<a,b<1000000),表示数字的开始和结束。 - 输出
- 一行显示他想要知道的数有几个及显示有多少个数字令他特别的愤怒。用空格隔开。
- 样例输入
200 500300 9001 600
- 样例输出
Case 1:2 0Case 2:2 1Case 3:6 1
题目大意:求一个区间内所有包含1,2,5的数字有几个,以及5,2,1,连着出现的数字有几个思路: 这题用循环会超时,应该要打表。但是吧,本人就有点奇葩,打完表一直错,苦苦寻觅才发现 原来是最后输出结果a没有减1,我累个擦。2014,11,20
#include<stdio.h>#include<string.h>struct stu{int shuju;int special;}data[1100000];int main(){int x,y,z,a,b,i,j,k,t,c=1,num=0,v=0;char m[20],*p;char n[5]="125";memset(data,0,sizeof(data));for(i=125;i<1100000;i++){//打表 memset(m,0,sizeof(0));t=i;j=x=y=z=0;while(t){m[j++]=(char)(t%10+48);t/=10;}for(k=0;k<j;k++){if(m[k]=='5')x++;if(m[k]=='2')y++;if(m[k]=='1')z++;}if(x>0&&y>0&&z>0)num++;data[i].shuju=num;p=strstr(m,n);if(p!=NULL) v++;data[i].special=v;}while(scanf("%d%d",&a,&b)!=EOF){printf("Case %d:%d %d\n",c++,data[b].shuju-data[a-1].shuju,data[b].special-data[a-1].special);}return 0;}
0 0
- hdu 975 关于521
- HDU 2012报告 关于sqrt、、、
- hdu 3118 【关于二分图】
- 关于HDU 1713 相遇周期
- Rightmost Digit ---关于hdu-1061
- nyoj-975-关于521
- NYOJ-975-关于521
- NYOJ-975 关于521
- NYOJ 975 关于521
- nyoj-975-关于521
- NYOJ 975 关于521
- nyoj 975 关于521
- NYOJ 关于521 975
- NYOJ 975 关于521
- 南阳975 关于521
- NYOJ 975 关于521
- NYOJ 975 关于521
- NYOJ--975--关于521
- Linux shell脚本的建立与执行
- 写数据到文件,并同步写到磁盘
- 一分钟读懂马云在互联网大会的万字
- lambda函数
- 综合:解决Android中Handler警告、SimpleDateFormat警告、"String".toUpperCase()警告
- hdu 975 关于521
- 苹果开发基础——NSArray排序
- 求n^nd的根
- MFC下CListCtrl的使用笔记
- c++著名库
- 一个x86平台的spi flash驱动移植笔记
- 表情,文字 图文混编
- 最长单调递增子序列-LIS问题
- BZOJ 1324 Exca王者之剑 最小割