精华内容
下载资源
问答
  • 2018省赛第九届蓝桥杯真题C语言B组;2018省赛第九届蓝桥杯真题C语言B组;2018省赛第九届蓝桥杯真题C语言B组;2018省赛第九届蓝桥杯真题C语言B组;2018省赛第九届蓝桥杯真题C语言B组;2018省赛第九届蓝桥杯真题C语言B...
  • 题目 题目标题:高斯日记 大数学家高斯有个好习惯:无论如何都要记日记。 他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如: 4210 后来人们知道,那个整数就是日期,它表示那一天是高斯出生后...

    题目

    题目标题:高斯日记
    大数学家高斯有个好习惯:无论如何都要记日记。
    他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如: 4210
    后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?
    高斯出生于: 1777年4月30日。
    在高斯发现的一个重要定理的日记上标注着: 5343, 因此可算出那天是: 1791年12月15日。
    高斯获得博士学位的那天日记上标着: 8113
    请你算出高斯获得博士学位的年月日。
    提交答案的格式是: yyyy-mm-dd,例如: 1980-03-21
    请严格按照格式,通过浏览器提交答案。
    注意:只提交这个日期,不要写其它附加内容,比如:说明性的文字。

    注意点

    出生日算第一天,所以5343天循环是写为5342,8113写为8112
    加Continue是为了提高效率。

    #include<stdio.h>
    
    bool isrunyear(int y){
    	return (y%4 == 0 && y%100 != 0 ) || (y%400==0);
    }
    int main(){
    	//出生日期 
    	int y=1777;
    	int m=4;
    	int d=30;	
    	//模拟翻日历
    	for(int i=0;i<8112;i++){
    		d++;
    		//年的最后一天 
    		if(m==12 && d==32){
    			y++;
    			m=1;
    			d=1;
    			continue;
    		}
    		if((m==1 || m==3 || m==5 ||m==7||m==8||m==10)&& d==32){
    			//判断1357810月的最后一天 31天的
    			m++;
    			d=1;
    			continue;
    		}
    		if((m==4 || m==6 || m==9 ||m==11)&& d==31){
    			//判断4 6 9 11月份的最后一天 30天的 
    			m++;
    			d=1;
    			continue;
    		}
    		if(m==2&& isrunyear(y) && d==30 ){
    			//判断闰年2月
    			m++;
    			d=1; 
    			continue;
    		}
    		if(m==2&& !isrunyear(y) && d==29 ){
    			m++;
    			d=1; 
    			continue;
    		}
    	} 
    	printf("%d-%d-%d",y,m,d) ;
    	return 0;
    } 
    
    展开全文
  • 2018年4月1日年省赛第九届蓝桥杯真题Java(C组),新鲜出炉。
  • 2018第九届蓝桥杯C++省赛B组[最新题解汇总] 标题:测试次数   x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。 各大厂商也就纷纷推出各种耐摔型手机。x星球的质监局规定了手机必须经过...

    2018第九届蓝桥杯C++省赛B组[最新题解汇总]

    标题:测试次数

     

    x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。

    各大厂商也就纷纷推出各种耐摔型手机。x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后才允许上市流通。
    x星球有很多高耸入云的高塔,刚好可以用来做耐摔测试。塔的每一层高度都是一样的,与地球上稍有不同的是,他们的第一层不是地面,而是相当于我们的2楼。
    如果手机从第7层扔下去没摔坏,但第8层摔坏了,则手机耐摔指数=7。
    特别地,如果手机从第1层扔下去就坏了,则耐摔指数=0。
    如果到了塔的最高层第n层扔没摔坏,则耐摔指数=n

    为了减少测试次数,从每个厂家抽样3部手机参加测试。


    某次测试的塔高为1000层,如果我们总是采用最佳策略,在最坏的运气下最多需要测试多少次才能确定手机的耐摔指数呢?
     

    请填写这个最多测试次数。

    注意:需要填写的是一个整数,不要填写任何多余内容。

     

    思路:

    100层楼扔两个鸡蛋的问题

    两个软硬程度一样但未知的鸡蛋,它们有可能都在一楼就摔碎,也可能从一百层楼摔下来没事。

    有座100层的建筑,要你用这两个鸡蛋确定哪一层是鸡蛋可以安全落下的最高位置。可以摔碎两个鸡蛋。

     最少需要几次测试,才能得到摔碎鸡蛋的楼层?方案如何?

    ================================================= 

    对于这个问题,如果从编程角度而言,最简单的思路是用动态规划的思想来解决,不过本文不将其从编程角度分析,而是从数学角度对问题进行论述。

     ================================================

    对这个问题,原始问题——【100层楼,最少需要几次测试,才能得到摔碎鸡蛋的楼层】,直接考虑不容易考虑,但是,如果将这个问题进行一种等价的转换,这个问题将会变得非常容易解答。个人认为,这个转换是解决这个问题的核心,这个转换是:

              转换问题——【两个鸡蛋,进行k次测试,最多可以测试几层楼】

     

    如果大家能想到将“原始问题”变为“转换问题”,这个问题个人认为已经解决一半了,转换后,这个问题豁然开朗,思路全开。

     

    现在我们以“转换问题”为模板进行考虑,有两个鸡蛋,第一个鸡蛋如果破碎,第二个鸡蛋就必须只能一层一层的测试了,而且,我们要求进行k次测试就将摔碎鸡蛋的楼层必须找到.

    =====================================================

    考虑第一次测试。第一次测试的时候,第一个鸡蛋不能放置的楼层太高了,否则,如果第一个鸡蛋破碎,第二个鸡蛋可能不能在k次测试后得到结果。但是也不能放置的矮了,因为如果放置的矮了,第一个鸡蛋破碎了还好说,如果没破,我们浪费了一次测试机会,也不能说是完全浪费了,不过至少是让效用没有最大化。所以,第一次测试的时候必须让第一个鸡蛋放置的不高不矮。

     

    不高不矮是多高?高到如果第一个鸡蛋破碎后第二个鸡蛋刚好能完成k次测试得到结果这个目标。由此可知,第一次测试所在的楼层高度为k,如果第一次测试第一枚鸡蛋破碎,则剩下k-1层楼,一层一层的试,k次一定能完成目标。

     

    如果第一次测试,第一枚鸡蛋没有破碎,则我们现在只有k-1次测试机会了,而且直到了k楼及其以下都是安全的了。我们消耗了一次测试机会,但是一次就测试了k层楼。

     

    然后只有k-1次机会了,第二次测试,我们可以在k层的基础上再增加k-1层了,注意,这个时候由于我们只有k-1次机会,所以这次只能再增加k-1层,以保证测试的时候第一枚鸡蛋破碎的情况下仍然能完成任务。

     

    于是,重复上述过程,直到最后一次机会,我们总共测试的楼层数为:

          

    然后,再回到“原始问题”,100层楼,如果需要k次测试才能测试完成,则必须有

     

    则可以得到,k≥14

    也就是需要14次测试才能得到结果,而且这个过程也将测试方案一并得出来,就是第一次在14楼测试,如果第一枚蛋碎,则剩余13次机会,13层未知楼层,恰好,第二次在14+13=27楼测试,如此。

    如果不是100层,而是N层,需要的测试次数为k,则有

          

    ========================================================= 

    然后,这个问题这个时候还可以扩展了,如果我们有三个鸡蛋,有k次机会,我们最大可以测试多少层楼?

    思路同前面一样,第一次测试,不能太高也能太矮,必须恰到好处,也就是第一枚鸡蛋如果破碎,剩余k-1次机会能将剩余楼层给测试完。

    由上面结论,k-1次机会最多可以测试k(k-1)/2层楼,所以第一次在k(k-1)/2+1层楼,第一次如果第一枚鸡蛋不碎,第二次在此基础上增加(k-1)(k-2)/2+1层楼,于是,三个鸡蛋k次机会总共测试楼层数为

    至于四个鸡蛋,五个鸡蛋,以至于M个鸡蛋,可以以此类推,方法同上。此处原理讲通,就不推导了

    此问题来自

    答案:19

    展开全文
  • 2018第九届蓝桥杯C++省赛B组[最新题解汇总]标题:第几天2000年的1月1日,是那一年的第1天。那么,2000年的5月4日,是那一年的第几天?注意:需要提交的是一个整数,不要填写任何多余内容。思路:签到手算即可.答案:...

    2018第九届蓝桥杯C++省赛B组[最新题解汇总]

    标题:第几天



    2000年的1月1日,是那一年的第1天。
    那么,2000年的5月4日,是那一年的第几天?




    注意:需要提交的是一个整数,不要填写任何多余内容。

    思路:签到手算即可.

    答案:125



    展开全文
  • 标题:日志统计 小明维护着一个程序员论坛。现在他收集了一份”点赞”日志,日志共有N行。其中每一行的格式是: ts id 表示在ts时刻编号id的帖子收到一个”赞”。 现在小明想统计有哪些帖子曾经是”热帖”。...

    标题:日志统计
    小明维护着一个程序员论坛。现在他收集了一份”点赞”日志,日志共有N行。其中每一行的格式是:
    ts id
    表示在ts时刻编号id的帖子收到一个”赞”。
    现在小明想统计有哪些帖子曾经是”热帖”。如果一个帖子曾在任意一个长度为D的时间段内收到不少于K个赞,小明就认为这个帖子曾是”热帖”。
    具体来说,如果存在某个时刻T满足该帖在[T, T+D)这段时间内(注意是左闭右开区间)收到不少于K个赞,该帖就曾是”热帖”。
    给定日志,请你帮助小明统计出所有曾是”热帖”的帖子编号。
    【输入格式】
    第一行包含三个整数N、D和K。
    以下N行每行一条日志,包含两个整数ts和id。
    对于50%的数据,1 <= K <= N <= 1000
    对于100%的数据,1 <= K <= N <= 100000 0 <= ts <= 100000 0 <= id <= 100000
    【输出格式】
    按从小到大的顺序输出热帖id。每个id一行。
    【输入样例】
    7 10 2
    0 1
    0 10
    10 10
    10 1
    9 1
    100 3
    100 3
    【输出样例】
    1
    3
    资源约定:
    峰值内存消耗(含虚拟机) < 256M
    CPU消耗 < 1000ms

    思路:看到这个样式的输入,我们就会想到要定义一个二维数组,然后就是通过常用的循环加上判断去解决问题了。

    源代码:

    #include <stdio.h>
    #include<math.h>
    #define N 100
    int main(int argc, char **argv)
    {
        int n,d,k,i,j,s,sum;
        int a[N][2];
        scanf("%d %d %d",&n,&d,&k);
        for(i = 0;i < n;i++)
            for(j = 0;j < 2;j++)
                scanf("%d",&a[i][j]);
        for(i = 0;i < n;i++)
        {
            sum = 1;
            s = a[i][1];
            if(a[i][1] == 0)
                continue;
            for(j = i + 1;j < n;j++)
            {
                if(s == a[j][1] && fabs(a[j][0] - a[i][0]) < d)
                {
                    sum++;
                    a[j][1] = 0;
                }
            }
            if(sum >= k)
                printf("%d\n",a[i][1]);
        }
    
        return 0;
    }
    
    展开全文
  • 2018第九届蓝桥杯C++省赛B组[最新题解汇总]标题:日志统计小明维护着一个程序员论坛。现在他收集了一份"点赞"日志,日志共有N行。其中每一行的格式是:ts id 表示在ts时刻编号id的帖子收到一个"赞&...
  • 2018第九届蓝桥杯C++省赛B组[最新题解汇总] 标题:明码   汉字的字形存在于字库中,即便在今天,16点阵的字库也仍然使用广泛。 16点阵的字库把每个汉字看成是16x16个像素信息。并把这些信息记录在字节中。 一个...
  • 2018第九届蓝桥杯C++省赛B组[最新题解汇总]标题:乘积最大给定N个整数A1, A2, ... AN。请你从中选出K个数,使其乘积最大。 请你求出最大的乘积,由于乘积可能超出整型范围,你只需输出乘积除以1000000009的余数。 ...
  • 标题:测试次数 x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。 各大厂商也就纷纷推出各种耐摔型手机。x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后才...
  • 2018第九届蓝桥杯C++省赛B组[最新题解汇总]标题:乘积尾零如下的10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零?5650 4542 3554 473 946 4114 3871 9073 90 4329 2758 7949 6113 5659 5245 7432 ...
  • 2018第九届蓝桥杯C++省赛B组[最新题解汇总]标题:快速排序。 以下代码可以从数组a[]中找出第k小的元素。它使用了类似快速排序中的分治算法,期望时间复杂度是O(N)的。请仔细阅读分析源码,填写划线部分缺失的内容。...
  • 2018第九届蓝桥杯C++省赛B组[最新题解汇总]标题:全球变暖你有一张某海域NxN像素的照片,"."表示海洋、"#"表示陆地,如下所示:........##.....##........##...####....###........其中"...
  • 2018第九届蓝桥杯C++省赛B组[最新题解汇总]标题:递增三元组给定三个整数数组A = [A1, A2, ... AN], B = [B1, B2, ... BN], C = [C1, C2, ... CN],请你统计有多少个三元组(i, j, k) 满足:1. 1 &lt;= i, j, k...
  • (https://blog.csdn.net/nka_kun/article/details/79789511) 看完之后,受益匪浅。
  • 第三届“蓝桥杯C语言决赛真题2012年
  • 蓝桥杯真题求助C语言

    2019-11-26 20:12:21
    然后开始从头找Alice的位置,找到一个就从那个位置开始找题目要求长度范围内有没有Bob的出现,两层for循环,计数即可,但现在输入输出也有点问题,答案好像还不对,求大佬指点,网上都是java的,我做的C语言的。...
  • 2011年蓝桥杯C语言高职组,真题附加答案。题型包括程序填空,程序设计
  • 题目:马虎的算式 小明是个急性子,上小学的时 候经常把老师写在黑板上的题目抄错了。 有一次,老师出的题目是: 36 x 495 = ? 他却给抄成了: 396 x 45 = ? 但结果却很戏剧性,他的答案竟然是对的!...
  • 题目 1815: [蓝桥杯][2014年第五届真题]排列序数 时间限制: 1Sec 内存限制: 128MB 题目描述 如果用a b c d这4个字母组成一个串,有4!=24种,如果把它们排个序,每个串都对应一个序号: abcd 0 abdc 1 acbd 2 acdb 3 ...
  • 题目 1432: [蓝桥杯][2013年第四届真题]剪格子 时间限制: 1Sec 内存限制: 128MB 题目描述 历届试题 剪格子 时间限制:1.0s 内存限制:256.0MB 问题描述 如下图所示,3 x 3 的格子中填写了一些整数。 +--*--+--+ |...
  • 问题 1429: [蓝桥杯][2014年第五届真题]兰顿蚂蚁 时间限制: 1Sec 内存限制: 128MB 题目描述 兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种。 平面上的正方形格子被填上黑色或白色。在其中一...
  • 20180401蓝桥杯C语言B组真题20180401蓝桥杯C语言B组真题
  • 问题 1427: [蓝桥杯][2013年第四届真题]买不到的数目 时间限制: 1Sec 内存限制: 128MB 题目描述 小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。 小朋友来买糖的时候,他就...

空空如也

空空如也

1 2 3 4 5 ... 15
收藏数 291
精华内容 116
关键字:

蓝桥杯真题c语言

c语言 订阅