精华内容
下载资源
问答
  • A:大水,分别求出最高的人和最矮的人所在的位置。如果有多个人高度相同且都是最高的话要选靠左边的,有多个人高度相同且都是最矮的话要选靠右边的。然后计算把最高的人和最矮的人分别安排到左边和右边需要走的最短...

    第二次参加cf,饮恨两题了

     

    A:大水,分别求出最高的人和最矮的人所在的位置。如果有多个人高度相同且都是最高的话要选靠左边的,有多个人高度相同且都是最矮的话要选靠右边的。然后计算把最高的人和最矮的人分别安排到左边和右边需要走的最短步数即可。

    #include<iostream>
    #include<cstring>
    #include<cstdio>
    using namespace std;
    const int nMax=105;
    int num[nMax];
    int main(){
        int n,i,j,high,low,h,l,ans;
        while(scanf("%d",&n)!=EOF){
            high=-1;
            low=200;
            for(i=1;i<=n;i++){
                scanf("%d",&num[i]);
                if(num[i]>high){   //大的数在左边
                    high=num[i];
                    h=i;
                }
                if(num[i]<=low){    //小的数字在右边
                    low=num[i];
                    l=i;
                }
            }
         //   cout<<high<<' '<<h<<" "<<low<<" "<<l<<endl;
            if(h<l){
                ans=h-1+n-l;
            }
            else{
                ans=h-1+n-l-1;
            }
            cout<<ans<<endl;
        }
        return 0;
    }

    B题代码实在太囧~~发出来怕被bs

     

     

    C:这道本来应该能在最后精彩绝杀的题目却最终饮恨了~~这就叫惜哉剑术疏,奇功遂不成吧。

        大致题意就是:如果一个字符串a在打乱排列后可以变成另一个字符串b,则我们称a和b互为anagram,比如“aba”和“aab”就是互为anagram。“aab”和“abc”,“bba”都不互为anagram。

        如果有一个带‘?’的字符串a,在把‘?’替换成一些特定的字符后能和字符串b互为anagram,我们称a为good,比如a为“a??”,b为“abc”,则认为a是good。

        给出两个长度都是10^5数量级的字符串str1和str2,str1由小写字母和'?'组成,str2由小写字母组成。求出str1中可以分离出多少个good的连续子串。

        一开始看到10^5迟迟不敢下手,觉得会tle。后来下了好大决心才写了一个遍历长度为10^5字符串的代码。没想到却pass掉了。比赛测试总数据的时候很囧的被tle掉了。以为是有什么高级牛逼的算法,跟别人对比以后才发现字符串长度的定义少了一个0,杯具啊

     

    #include<iostream>
    #include<cstring>
    #include<cstdio>
    using namespace std;
    const int nMax=105;
    int cha1[300];
    int cha2[300];
    bool check(int l){
        int need=0;
        for(int i='a';i<='z';i++){
            if(cha1[i]>cha2[i]){
                return 0;
            }
            need=cha2[i]-cha1[i];
        }
        if(need==0)return 1;
        if(need==cha1['?'])return 1;
    }
    int main(){
        int i,j,len1,len2,ans;
        char str1[100005],str2[100005];   //这里这里这里!!
        while(scanf("%s%s",str1,str2)!=EOF){
            ans=0;
            memset(cha2,0,sizeof(cha2));
            memset(cha1,0,sizeof(cha1));
            len1=strlen(str1);            //长串
            len2=strlen(str2);            //短串
            if(len2>len1){
                cout<<0<<endl;
                continue;
            }
            for(i=0;i<len2;i++){
                cha1[str1[i]]++;
            }
            for(i=0;i<len2;i++){
                cha2[str2[i]]++;
            }
            for(i=len2-1;i<=len1-1;i++){   //str2尾部所在的位置
               // cout<<len2<<" "<<len1<<endl;
                if(check(i)){
                    ans++;
                }
                cha1[str1[i-len2+1]]--;
                cha1[str1[i+1]]++;
            }
            cout<<ans<<endl;
        }
        return 0;
    } 

     

    D是个最短路好题!可惜等到赛后才ac掉~真囧。

        给出一个由n个点m条带权边组成的无向图。给出图中的一个点s和一个长度值l。求图中到s点最短距离为l的点的数量,包括节点上的点和边上的点。

        首先统计所有节点中距离s最短为l的点的个数,再统计所有边中含有那种点的个数,统计边的时候细节需要特别的注意!!最后输出总和即可。

    献上代码:

    #include<iostream>
    #include<cmath>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    const int nMax=600050;
    const int mMax=1000050;
    const int inf=1<<28;
    struct{
        int u,v, next;
        int  w;
    }edge[mMax];
    int n, k, head[nMax];
    int dis[nMax];
    int que[nMax],m,sum[nMax];
    bool vis[nMax];
    
    void addedge(int a,int b,int w){
        edge[k].w = w;
        edge[k].u=a;
        edge[k].v=b;
        edge[k].next=head[a];
        head[a]=k;k++;
    }
    
    void spfa(int s){      //始点,终点,总点数
        int i, hhead = 0, tail = 1;    //  长注释的地方就是从最小费用改到最大费用时需要变动的地方
        for(i = 0; i <= n; i ++){
            dis[i] = inf;
            vis[i] = false;
        }
        dis[s] = 0;
        que[0] = s;
        vis[s] = true;
        while(hhead != tail){
            int u = que[hhead];
            vis[u] = false;
            for(i=head[u];i!=0;i=edge[i].next){//for(i = head[u]; i != 0; i = edge[i].next){
                int v = edge[i].v;
                if(dis[v] >dis[u] + edge[i].w){
                    dis[v] = dis[u] + edge[i].w;
                    if(!vis[v]){
                        vis[v] = true;
                        que[tail ++] = v;
                        if(tail == nMax) tail = 0;
                        //if(++sum[v] > n) return false;     //  不包含初始的进栈。
                    }
                }
            }
            hhead++;
            if(hhead ==nMax) hhead = 0;
        }
    }
    int main(){
        int i,j,m,s,a,b,c,l,ans,u,v,w,p;
        char str[10];
        while(scanf("%d%d%d",&n,&m,&s)!=EOF){
            k=1;
            ans=0;
            memset(head,0,sizeof(head));
            while(m--){
                scanf("%d%d%d",&a,&b,&c);
                addedge(a,b,c);
                addedge(b,a,c);
            }
            scanf("%d",&l);
            spfa(s);
            for(i=1;i<=n;i++){
                if(dis[i]==l)ans++;
            }
            for(i=1;i<k;i+=2){
                u=edge[i].u;
                v=edge[i].v;
                w=edge[i].w;
                if(dis[u]<l){
                    if(dis[u]+edge[i].w>l){
                        p=l-dis[u];
                        if(dis[v]+w-p>l){
                            ans++;
                        }
                    }
                }
                if(dis[v]<l){
                    if(dis[v]+edge[i].w>l){
                        p=l-dis[v];
                        if(dis[u]+w-p>l){
                            ans++;
                        }
                        if(dis[u]+w-p==l){
                            ans++;
                        }
                    }
                }
            }
            printf("%d\n",ans);
        }
        return 0;
    }
     
    展开全文
  • 求可以用的最少的积木个数搭建的最高的塔 有多高? 思路:  搭 2. 搭 3 同高的会是6的倍数。那么将6的倍数分别讨论即可:  方法一: A学生一组可以搭的最矮的塔为 2*n 高 B学生一组可以搭的最矮的塔是3*n高 为了...

    题意:

     有A,B两组学生。 A学生n个人 可以搭2的倍数的高塔, B学生m人 可以搭3的倍数的高塔。但是不可以有两个学生塔同样高;求可以用的最少的积木个数搭建的最高的塔 有多高?

    思路:

     搭 2. 搭 3 同高的会是6的倍数。那么将6的倍数分别讨论即可:

      方法一:

    A学生一组可以搭的最矮的塔为 2*n 高

    B学生一组可以搭的最矮的塔是3*n高

    为了保证塔高最矮: 那么将6的情况分给 A B组中较高的一组。

      代码给注释

    #include<stdio.h>
    #include<string.h>
    #include<algorithm>
    #include<stdlib.h>
    #include<string.h>
    using namespace std;
    int main()
    {
        int n,m;
        while(scanf("%d%d",&n,&m)!=EOF)
        {
            n*=2; A能搭的最高的
            m*=3; B能搭的最高的
            int i;
     
           for(i=6;i<=min(n,m);i+=6)
            {
                if(n>m) 如果此时A比B最大高度高 那么给B增加
                    m+=3;
                else     同理
                    n+=2;
            }
            printf("%d\n",max(n,m));
        }
    }

    方法二: 二分法

    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #include<iostream>
    using namespace std;
    int n,m;
    bool judge(int x)
    {
        //二分循环传参高度值,判断值是否满足条件
        if(x<n*2||x<m*3||(x/2+x/3-x/6<m+n))
            return false;
        return true;
    }
    
    int main()
    {
    
        cin>>n>>m;
        int l=0,r=(m+n)*6;
        int ans;
        while(l<r)
        {
            int mid=(l+r)/2;
            if(judge(mid))
            {
                r=mid;
                ans=mid;
            }
            else
            {
                l=mid+1;
    
            }
    
        }
        cout<<ans<<endl;
        return 0;
    }
    


    展开全文
  • 乔布斯声音尖细、微弱,... 乔布斯身上标签,他是《财富》眼中“美国粗暴老板”,吉姆·科林斯称他为“商界贝多芬”,硅谷称他为“电脑业首席创新总监”,《经济学》则将乔布斯比做伟大皇帝拿破仑

    乔布斯的声音尖细、微弱,甚至空洞得有些奇怪。事实上,乔布斯不算特别高,大约1.78米,比人们想象中的矮。但是,他就是有办法让人迷醉。有一次,盖茨专门拿乔布斯的演讲录像作分析,结论是“这家伙太可怕了,简直是个销售天才”。
    乔布斯身上有很多标签,他是《财富》眼中“美国最粗暴的老板”,吉姆·科林斯称他为“商界贝多芬”,硅谷称他为“电脑业的首席创新总监”,《经济学人》则将乔布斯比做伟大的皇帝拿破仑……
    乔布斯身上也有不少中国标签,他是王志东眼中的大侠——类似于《侠客行》里的石破天;他是田溯宁眼中的梦想战土——不逊于雷锋、杨振宁、陈景润的 英雄;他是李开复眼中的创新教父——拥有跟随内心与直觉的勇气;他是马云眼中的趋势大师——热情、主见和雄辩;他是潘石屹眼中的冒险商人——敏锐、狂热以 及坚韧。
    但是,这些都不是本书想要终极寻找的!
    穿越众多围绕在乔布斯身边的标签、关键词、赞美和谩骂,我更愿意用另一个全新的词汇——角斗士。“角斗士”是被李普曼所大力推崇的一种领导风格, 这种领导者拥有强大的信仰和价值观,令人为之奋斗不止,为了在激烈的竞争中获得成功,光有雄心和豪情远远不够,一定要有切实可行的战术和手段来实现它。事 实上,大多数CEO都有这种“角斗土”气质,而乔布斯则是山之巅峰。
    乔布斯的“角斗士”风格有几个关键所在:
    我的人生“狠”字当头。
    乔布斯的“狠”不是“小狠”——强权、刻薄、蛮横、震慑,尽管这些都是乔布斯的领导风格——而是“大狠”,一种改变世界的决心、使命和强大的驱动 力。你可以从乔布斯诸多人生的关键时刻中,发现这种“狠字当头”的东西。这种“狠”已经变成一种信仰和价值观,甚至融人苹果公司的空气,变成一种奇妙的地 心引力。比如,即便是一款小小的音乐播放器iPod,在乔布斯眼里,也是“以微小方式改变世界”的工具。
    从行为科学上讲,动机是所有力量之源——动机产生需求,需求引发愿望,愿望驱动行为。什么是乔布斯的“狠”之动机?这种动机一定跟乔布斯独特 的童年有关,据乔布斯在霍姆斯特德中学读书时的好友费尔南德斯回忆,高中时的乔布斯,一定已经知道自己是被收养的,乔布斯的妹妹贝蒂皮肤较黑,看起来很有 墨西哥人的味道,兄妹间外表的差异很大。像乔布斯这样聪明的小孩,心中肯定已经有了疑问。这种莫名的不安感,刺激他追求生命的真谛。在这个追寻过程中,他 做过恶作剧高手,他做过黑客,他是一名素食主义者,他是禅修爱好者,他是设计大师……我更愿意把这种天人交战的“不安”,视作乔布斯个人强大能量的源头。
    “只会当船长”的领导者。
    乔布斯的故事告诉我们,领导者和管理者是截然不同的两种岗位,虽然我们经常将它们混为一谈。正如领导力与变革大师约翰·科特的提醒:领导与管理截 然不同,管理与处理复杂情况有关,而领导与应对变革有关。没错,领导者与应对变革有关。乔布斯虽然在管理上经常背负骂名,但他却是一位变革大师。早期,他 重新定义消费电脑的含义;被赶出苹果公司后,他用皮克斯重新定义了科技+创意的意义;重返苹果公司后,他重新定义了消费电脑的新概念;他重新定义了数字音 乐产业的想象;他甚至重新定义了一家硬件公司的未来——变“硬”为“软”;他也重新定义了智能手机业的版图;即便是身患癌症,他仍以变革的方式颠覆传统; 现在,他正重新定义平板电脑的未来……
    有一次,乔布斯一家乘游艇观光时,乔布斯的小孩里德对汹涌的波浪感到非常恐惧,于是乔布斯要求船长返回到岸边。船长拒绝了乔布斯的要求,因为 船上还有其他几名乘客,而且波涛会平息的。于是乔布斯就打电话叫来了一艘救生艇,带里德回去了。这是1997年,乔布斯已经42岁,他说:“我自己就是航 船的船长,只会领导不会服从。”20世纪90年代,乔布斯习惯称自己为“航船的船长”,他也是PC业的“船长”,这才是领导者的本质。
    伟大的产品挑选人。
    从人的角度看,IT产业有一个本质,那就是一定要有伟大的“产品挑选人”。“产品挑选人”是硅谷风险资本在新创公司中识别产品高人的一个术语。根 据惯例,新成立公司的第一个产品必须成功,如果第一个产品没有成功的话,这家公司必定失败。但是,很多新创公司只是拥有一群有才华与想法的工程师,却没有 想出要开发什么产品,这时候,就必须有一位知道该开发何种产品的“产品挑选人”来指导,他所拥有的核心技能就是从众多想法中挑选出最关键的。
    做好这个“产品挑选人”很难很难,用《孙子兵法》里的话说,这是个“运用之妙,存乎一心”的活。你要把握趋势,经历过N次重大失败,能搞定研 发团队,还要找到合适的商业模式。盖茨和乔布斯是IT产业最伟大的两个“产品挑选人”,只不过一个还在奋斗,一个离开了。而且,无论一个“产品挑选人”有 多么伟大,其黄金生命周期也就10年左右,不断会有新的“产品挑选人”来挑战你。其实,乔布斯花了大量的时间、精力培养“产品挑选人”,看看《财富》杂志 列出的11个乔布斯最可能的接班人,就会发现,乔布斯的身后的确强手如云。“产品挑选人”战略之下,才是被外界广为传颂的设计战略,而且,如果没有对的 “产品挑选人”,设计只是镜花水月。
    海盗精神。
    从表面上看,乔布斯在公司楼顶悬挂一面巨大的海盗旗是一个再好不过的噱头故事,但从更深层次看,乔布斯打造的是一种创新基因。什么是基因,就是最能沉淀下来,最具可持续性,最具可复制性的东西。一流的公司创造一流的产品,伟大的公司创造生产一流产品的文化。
    这种“海盗”气场是如此强大,我们切换到《财富》所用的描述上——设计师必须近乎疯狂地关心MacBook Air笔记本电脑背面的螺丝钉的螺纹,以及隐藏接口那看上去显然没有任何重量的小门。如果你在谈论你的Mac电脑时没有两眼放光,你就不可能跨进苹果公司的大门。

    展开全文
  • 集体照

    2020-11-05 11:20:34
    输入n位同学的身高,请问第二排中身高最矮的人的身高是多少? 关于输入 输入有多组,每组有2行,第一行输入一个整数n。 第二行有n个整数,对应n位同学的身高(厘米),各数字间以空格隔开。 当输入n==0时,结束输入...
    来源

    计算概论医学部-魏爽(高良才)

    描述

    医学部口腔3班n位同学约定拍集体照,n大于1且不超过100。摄影师要求同学按照身高站成两排,保证第二排的人身高都要大于等于第一排的人,且第二排的人数和第一排的人数相等或者比第一排多一个人。
    输入n位同学的身高,请问第二排中身高最矮的人的身高是多少?

    关于输入

    输入有多组,每组有2行,第一行输入一个整数n。
    第二行有n个整数,对应n位同学的身高(厘米),各数字间以空格隔开。
    当输入n==0时,结束输入。

    关于输出

    输出有多行,按输入顺序,每行为对应组中第二排最矮的身高。

    例子输入

    4
    179 164 173 159
    5
    165 174 171 179 160
    0

    例子输出

    173
    171

    #include <stdio.h>
    int main() {
    	int n = 0;
    	scanf("%d", &n);
    	do {
    		int i = 0;
    		int height[100] = { 0 };
    		for (i = 0; i < n; i++) {
    			scanf("%d", &height[i]);
    		}
    		int fir_n = 0;
    		if (n % 2 == 0)fir_n = n / 2-1;
    		else fir_n = n / 2 ;
    		int j = 0;
    		int temp = 0;
    		for (i = 0; i < n; i++) {
    			for (j = 0; j < n; j++) {
    				if (height[i] > height[j]) {
    					temp = height[i];
    					height[i] = height[j];
    					height[j] = temp;
    				}
    			}
    		}
    		printf("%d\n", height[fir_n]);
    		scanf("%d", &n);
    	} while (n != 0);
    	return 0;
    }
    
    展开全文
  • 军训 (水题)

    2019-09-27 17:49:54
    Description N 个军训新学员开始了他们的军训生活,第一天教官教...其他人必须严格递增或或者递减,同样地,如果是“凹”字形队列,身高最矮的人可以一个或者个,其他人必须严格递增或者递减,现在这N 个同...
  • 就如同我们排队去做操的时候,矮的往前走,的往后走一样。 但是呢机器和人不同,人有自主意识,所以可以很快判断自己往哪走。不过有一点机器和人是相同的——需要参照物,假如给一个新班级排队,老师说大家从到...
  • 【PAT-A1109】Group Photo

    2019-09-14 14:46:12
    后排的人身高不能比前面的任意一个人,同时每排中间的人最高,两边身高依次下降。身高相同的按照名字的字典序排。给出每个人的姓名和身高,输出最终排列的名字阵形。 【代码】 #include <cstdio> #include &...
  • 军训

    2017-10-26 17:36:44
    题目描述 ...其他人必须严格递增或或者递减,同样地,如果是“凹”字形队列,身高最矮的人可以一个或者个,其他人必须严格递增或者递减,现在这N 个同学已经站好了队,请你来判断一下现在这个队形
  • 假设有N个毕业生,准备排K行,拍毕业照摄影师定下这么几条规矩: 1、每一行人数一定是N/K个,如果有多的同学,全部站最后一排; 2、后排一定不能比前排任何一个同学; 3、在任意一排,个子最高站中间,...
  • 假设有N个毕业生,准备排K行,拍毕业照摄影师定下这么几条规矩: 1、每一行人数一定是N/K个,如果有多的同学,全部站最后一排; 2、后排一定不能比前排任何一个同学; 3、在任意一排,个子最高站中间,...
  • 屌丝说

    2021-04-01 16:10:11
    屌丝英文是Pleb/plebeian、loser,开始通常用作称呼“矬穷”(与“富帅”或“白富美”相对)的人。其中“屌丝”显著的特征是穷,房子、车子对于屌丝来说是遥不可及的梦。 但是没有想过为什么会存在屌丝,...
  • Collection List区别

    2018-01-26 09:42:00
    List是有序,比如一群排了队,你就能说这是第一个,这是最后一个 因此Collection是没有index索引,没有InsertAt等方法 Collection接口中各元素对象之间没有指定顺序,允许重复元素和个...
  • 一点感悟

    2011-02-10 22:22:00
    杰出的人,很早就停止上学了,(自己选择,或,想上但没得上),但这些人可没停止学习,他们立刻改去更广大的社会学校,向更厉害的人学习了,你若这种胆识,也尽可如此。但请不要误以为这些人,是因为早...
  • 欠债的人可订都不会主动偿还的,时候状况还会失控,导致某些结果。我们完全可以想别的法子,比如说,以物抵债,虽然老大不赢定高兴,至少把东西带到他面前,要不把东西转手卖给其他人。当然,整天帮别人做活,不...
  •  当然,真心相爱的人都希望一幢房子,这样他们才能够生活在一起。 于是,他们搬到城市的边缘,搬进鳄鱼的小房子。 不过,那儿并不理想,一点也不理想。 长颈鹿走到哪儿都会撞到头。 当她睡觉时,只要伸展一下...
  • 应聘穿衣服

    千次阅读 2010-06-29 22:58:00
    发型适中,不长不短,不过多有发胶一类固定物. 2.忌化装及耳钉和裸露在外文身和过多饰物. 3.服饰遵循简单,整洁,大方. 建议以休闲装为基准 夏天,半袖衬衣,长西装裤或休闲裤,皮凉鞋,记住,穿袜子. 秋天,长袖衬衣,长...
  • 这几天一直忙着拍一期全面硬核家乡美食“富顺豆花”。花了很时间和精力,所以更新不勤请大家见谅。视频已经拍好还在后期,效果非常不错所以就决定把石磨搬回老家来给家人做新鲜豆花。 Hello...
  • 我看这盒有多大 两百五十毫升 25 00:01:01,040 --> 00:01:03,080 有这种疙瘩 一攥成坨 26 00:01:03,080 --> 00:01:05,600 一攥成这样似 27 00:01:05,600 --> 00:01:08,400 这就跟过去蒸什么似 28 ...

空空如也

空空如也

1 2
收藏数 29
精华内容 11
关键字:

最矮的人有多高