您的位置:时时彩平台 > 娱乐 / 影视影评 > 看得我蛋疼,2017计蒜客蓝桥杯模拟赛5

看得我蛋疼,2017计蒜客蓝桥杯模拟赛5

发布时间:2019-10-11 10:11编辑:娱乐 / 影视影评浏览(116)

    那本子哪个人编的。。。。
    自己就wonder了,这种脑残剧本,放到国产片我们嘲笑到死,放到就有007一帮羊粪帮助补贴漏洞。。。
    都能安顿好 黑六处,炸大巴,逃跑的时候神预判,你往议院放个炸弹不行?你往m车的上面下放个炸弹行不?三个人冲进去,你那是反派光环啊。
    那便是说多四弟,武装直接升学机荒郊野地干仗,用个火箭弹行不? 合着您不能够不看看全尸才欢快是吧。
    煤气罐不说了。。。
    北爱尔兰不说了。。。

    A. 结果填空:年龄难题

    除此以外关于m,心情描写就是面无表情的看一眼,全片被看了稍稍眼?真感到本身邦女郎了。007以致如此被钩住了魂,恋母情结严重。。。

    某君的年华是个两位数,倘若把她年龄的两位数字互交换一下地点置后与原数字相加和为 x,与原数字相减差的相对值为 y。已知 x 比 y 大 32。请你总计 y 的值是有一点

    思路:枚举

    结果:45

    代码:

    #include<cstdio>
    #include<cmath>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    int main() {
        for(int i=10;i<=99;++i) {
            int g=i%10;
            int s=i/10;
            int j=g*10+s;
            if(abs(i+j)-abs(i-j)==32) {
                printf("%dn",abs(i-j));
                break;
            }
        }
        return 0;
    }
    

    时时彩平台,B. 结果填空:方程的解

    给出方程组:

    ​11x+13y+17z=2471​

    13x+17y+11z=2739​​

    已知 xyz 均为正整数,请您总计 xyz相加和纤维为多少

    思路:枚举

    结果:181

    代码:

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<string>
    #include<cmath>
    #include<algorithm>
    using namespace std;
    int main() {
        int minres=3000;
        for(int i=1;i<=2471/11;++i)
            for(int j=1;j<=2471/13;++j)
                for(int k=1;k<=2471/17;++k)
                    if(((i*11+j*13+k*17)==2471)&&(13*i+17*j+11*k)==2739)
                        minres=min(minres,i+j+k);
        printf("%dn",minres);
        return 0;
    }
    

    C. 结果填空:九宫格

    将数字 1…9 填入贰个3×3 的九宫格中,使得格子中每一暴行和的值全部也就是,每一竖列和的值全体也正是。请你总计有稍许种填数字的方案。

    思路:全排列

    结果:72

    代码:

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<string>
    #include<cmath>
    #include<algorithm>
    #include<string>
    using namespace std;
    int main() {
        int ans[9],sum=0;
        for(int i=0;i<9;++i) ans[i]=i+1;
        do {
            int temp1=ans[0]+ans[1]+ans[2];
            int temp2=ans[0]+ans[3]+ans[6];
            if(((ans[3]+ans[4]+ans[5])==temp1)
               &&((ans[6]+ans[7]+ans[8])==temp1)
               &&((ans[1]+ans[4]+ans[7])==temp2)
               &&((ans[2]+ans[5]+ans[8])==temp2))
               sum++;
        }while(next_permutation(ans,ans+9));
        printf("%dn",sum);
        return 0;
    }
    

    D. 代码填空:阶梯三角形

    我们提交三角形的莫斯中国科学技术大学学,通过函数在调控台上打字与印刷出一个三角。右边代码再三再四打字与印刷了多少个高低不等三角形,最终形成了一个阶梯状的总是三角形。

     

    请留神翻阅代码,填写缺失代码,达成图形的打字与印刷。

    时时彩平台 1

    代码:

    #include<stdio.h>
    void print(int n) {
        for (int i = 0; i < n - 1; ++i) {
            for (int j = 0; j <= n + i - 1; ++j) {
                if (j+i==n-1) {
                    printf("*");
                } else if (j == n + i - 1) {
                    printf("*");
                } else {
                    printf(" ");
                }
            }
            printf("n");
        }
        for (int i = 0; i < n * 2 - 1; ++i) {
            printf("*");
        }
        printf("n");
    }
    int main() {
        for (int i = 1; i <= 16; i *= 2) {
            print(i);
        }
        return 0;
    }
    

    E. 代码填空:组合数字

    出手代码是将 6 个整数根据自由顺序组合到一块儿,计算能结成出的最大数字。

    举个例子说:4123,25,66 组合到手拉手就是 66412325。

    请阅读程序补全代码,完毕那么些职能

    #include<stdio.h>
    long long max(long long x, long long y) {
        return x > y ? x : y;
    }
    long long test(int a[], int n) {
        long long ret = 0;
        for (int i = 0; i < n; ++i) {
            int tp = a[i];
            int j = 1;
            while(tp) {
                j *= 10;
                tp /= 10;
            }
            ret = ret * j + a[i];
        }
        return ret;
    }
    long long f(int a[], int k) {
        if (k == 6) {
            return test(a, k);
        }
        long long ret = 0;
        for(int i = k; i < 6; ++i) {
            int t = a[k];
            a[k] = a[i];
            a[i] = t;
            ret = max(ret,f(a,k+1));
            t = a[k];
            a[k] = a[i];
            a[i] = t;
        }
        return ret;
    }
    int main() {
        int a[6] = {517, 283, 429, 65, 6566, 32};
        printf("%lldn", f(a, 0));
        return 0;
    }
    

    F. 结果填空:补全等式

    下图中,每一种方块代表 1…13 中的某二个数字,但不重复。

    时时彩平台 2

    例如:

    1×2+9×7=13×5

    10×8+12×3=11×4

    万一有专断二个四方代表的数字差异,固然三种差异的方案。

    请您总计,一共有多少种差异的方案。

    结果:122368         运维时间长度:300.010s

    思路:DFS  运行时间长度相比较长

    代码:

    #include<iostream>
    #include<string>
    #include<algorithm>
    #include<cstdio>
    #include<cstring>
    #include<cstdlib>
    #include<cmath>
    using namespace std;
    int ans[13];
    bool flag[14];
    int sum=0;
    void cal() {
        int temp1=ans[1]*ans[2]+ans[3]*ans[4];
        int temp2=ans[5]*ans[6];
        int temp3=ans[7]*ans[8]-ans[9]*ans[10];
        int temp4=ans[11]*ans[12];
        if((temp1==temp2)&&(temp3==temp4)) {
            sum++;
            printf("%dn",sum);
        }
    }
    void dfs(int pos) {
        if(pos==13) {
            cal();
            return;
        }
        for(int i=1;i<=13;++i) {
            if(flag[i]==true) continue;
            flag[i]=true;
            ans[pos]=i;
            dfs(pos+1);
            flag[i]=false;
        }
    }
    int main() {
        memset(ans,0,sizeof(ans));
        memset(flag,false,sizeof(flag));
        dfs(1);
        printf("%dn",sum);
        return 0;
    }
    

    G. 结果填空:礼物盒

    小y有三个上涨的幅度为 100cm,中度为 20cm,深度为 1cm的柜子,如下图。

    时时彩平台 3

    小y还应该有 3636 个礼物盒,他们的深浅都为 1cm。

    他们相应的幅度和惊人如下,单位(cm)。

    时时彩平台 4

    今昔小y想把那一个盒子放到柜子上,由于礼物盒里面都独具礼物,红包盒必得更进一步放置,并且不可能堆积。由于礼物盒深度和橱柜深度同样,所以礼物盒和橱柜深度方向也必得一律。况且礼物盒的冲天还无法超越柜子的万丈,否者放不进去。小y希望放到柜子上礼物盒的增加率和正好等于柜子的大幅度,也正是期待柜子两侧都官样文章间隙。如下图切合条件的停放。

    时时彩平台 5

    知足条件的景象下,小y希望能尽大概多的放置礼物盒,算出最多能放多少个礼物盒。

    思路:放满的01背包

    结果:18

    代码:

    /*
    11 3
    8 12
    11 17
    16 13
    1 14
    2 8
    6 10
    10 18
    17 11
    10 15
    6 14
    5 6
    2 19
    19 10
    4 9
    7 9
    5 14
    5 20
    15 19
    3 17
    15 11
    7 25
    11 20
    9 12
    17 4
    9 19
    4 18
    10 10
    12 19
    17 3
    19 9
    20 16
    11 16
    10 2
    20 15
    3 14
    */
    #include<iostream>
    #include<algorithm>
    #include<vector>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    const int INF=-0x3f3f3f3f;
    int main() {
        int t=36,h,w;
        vector<int> ans;
        while(t--) {
             scanf("%d%d",&w,&h);
             if(h>20) continue;
             ans.push_back(w);
        }
        int n=ans.size();
        ans.push_back(*ans.end());
        for(int i=n-1;i>=1;--i) ans[i]=ans[i-1];
        int dp[n+1][101];
        memset(dp,INF,sizeof(dp));
        for(int i=0;i<=n;i++) {
            dp[i][0]=0;dp[0][i]=0;
        }
        for(int i=1;i<=n;++i) {
            for(int j=ans[i];j<=100;++j) {
                dp[i][j]=max(dp[i-1][j],dp[i-1][j-ans[i]]+1);
            }
        }
        printf("%dn",dp[n][100]);
        return 0;
    }
    

    H. 程序设计:战表查询系统

    数学老师小y想写二个战绩查询系统,包涵如下指令:

    1. insert [name] [score],向系统中插入一条音讯,表示名称为name的学习者的数学战表为score。
    2. find [name],表示查找名为name的上学的小孩子的数学成就。

    在意有个别同学恐怕会为了刷分多次选课,查询的时候给出最大战表就能够。学生的名字是由小写字母组成。战表是叁个 0 ldots1000…100 的整数。

    教育工小编找到您,想你帮他实现这些系统。

    输入格式

    输入若干行,每行都是insert [name] [score]或者find [name]的花样,或一行end象征输入达成。输入行数不超越 一千,各样学生名字长度不超越 20 个字符。

    出口格式

    对此每一种查询,输出查询的上学的小孩子的参天战表,假诺系统中不设有该学员,输出 -1。

    时时彩平台 6

    思路:map

    代码:

    /*
    insert zhangsan 90
    insert zhangsan 96
    insert lisi 78
    insert xiaoming 86
    find xiaoming
    find zhangsan
    find jack
    end
    */
    #include<iostream>
    #include<string>
    #include<algorithm>
    #include<map>
    #include<cstdio>
    #include<cstring>
    #include<cmath>
    using namespace std;
    int main() {
        string s;
        map<string,int> a;
        while(cin>>s) {
            if(s[0]=='e') break;
            else if(s[0]=='i') {
                string name;
                int score;
                cin>>name>>score;
                map<string,int>::iterator temp;
                temp=a.find(name);
                if(temp==a.end()) a.insert(make_pair(name,score));
                else a[name]=max(a[name],score);
            } else if(s[0]=='f') {
                string name;
                cin>>name;
                map<string,int>::iterator temp;
                temp=a.find(name);
                if(temp==a.end()) {
                    cout<<"-1"<<endl;
                } else {
                    cout<<temp->second<<endl;
                }
            }
        }
        return 0;
    }
    

    I. 程序设计:引爆炸弹

    在一个 n×m 的方格地图上,某个方格上停放着炸弹。手动引爆三个炸弹以往,炸弹会把炸弹所在的行和列上的有所炸弹引爆,被引爆的炸弹又能引爆别的炸弹,那样连锁下去。

    时时彩平台 7

    近些日子为了引爆地图上的保有炸弹,须要手动引爆里面部分炸弹,为了把危急程度降到最低,请算出起码手动引爆多少个炸弹能够把地图上的享有炸弹引爆。

    输入格式

    首先行输七个整数 n,m,用空格隔开分离。

    接下来 n 行,每行输入八个尺寸为 m 的字符串,表示地图音信。0代表尚无炸弹,1表示炸弹。

    数量约定:

    对于60% 的数据: 1≤n,m≤100;

    对于 100% 的数据: 1≤n,m≤1000;

    数据量比非常大,不建议用cin输入。

    输出格式

    输出三个整数,表示最少供给手动引爆的炸弹数。

    时时彩平台 8

    思路:并查集

    代码:

    #include<iostream>
    #include<string>
    #include<algorithm>
    #include<vector>
    #include<set>
    #include<cstdio>
    #include<cstring>
    #include<cmath>
    using namespace std;
    const int maxn=1005;
    struct edge {
        int from,to;
    }Edge[maxn*maxn];
    int pre[maxn];
    bool cmp(const edge &a, const edge &b) {
        if(a.from==b.from) return a.to<b.to;
        return a.from<b.from;
    }
    int findfather(int x) {
        if(pre[x]!=x) pre[x]=findfather(pre[x]);
        return pre[x];
    }
    void change(int son, int f) {
        if(pre[son]!=f) {
            change(pre[son],f);
            pre[son]=f;
        }
    }
    int main() {
        int n,m;
        scanf("%d %dn",&n,&m);
        char s[m+1];
        int index=0;
        for(int i=0;i<n;++i) {
            gets(s);
            for(int j=0;j<m;++j) {
                if(s[j]=='1') {
                    Edge[index].from=i;
                    Edge[index].to=j+n;
                    index++;
                }
            }
        }
        for(int i=0;i<maxn;++i) pre[i]=i;
        sort(Edge,Edge+index,cmp);
        for(int i=0;i<index;++i) {
            int f1=findfather(Edge[i].from),f2=findfather(Edge[i].to);
            if(f1!=f2) {
                pre[f1]=f2;
            }
        }
        set<int> ans;
        for(int i=0;i<index;++i) {
            ans.insert(findfather(Edge[i].from));
            ans.insert(findfather(Edge[i].to));
        }
        int result=ans.size();
        printf("%dn",result);
        return 0;
    }
    

    J. 程序设计:放置守卫

    在一张 n 行 m 列的方格地图上放置一些守卫,每种守卫能守护上、左、右多少个方向上相邻的方格和团结所在的方格。如下图,暗红的方格放置守卫,金红的方格为该守卫守护的区域。

    时时彩平台 9

    前几日供给在地图上停放若干个守护,让各类方格起码被三个防范守护(能够同一时候被多个守护守护),但是有些方格上无法放置守卫(那几个方格也须要被医护),求出最少须要某个个守护手艺满足条件。

    输入格式

    先是行输入多个整数 n,m

    接下去输入多少个 n×m 的矩阵。矩阵三月素为 0 表示该位置不可能放置守卫,为 1 表示该岗位能放置守卫。成分之间用空格隔离。

    数码约定:全数数据保障一定有一种方案满意条件。

    对于 20% 的数据: 1≤n,m≤5;

    对于 50% 的数据: 1≤n≤20,1≤m≤10;

    对于100% 的数据:1≤nm≤1000,1≤m≤15。

    输出格式

    出口最少须求停放的防卫数量。

    思路:轮廓线DP 笔者还不会啊QAQ

    本文由时时彩平台发布于娱乐 / 影视影评,转载请注明出处:看得我蛋疼,2017计蒜客蓝桥杯模拟赛5

    关键词:

上一篇:Gattaca的生命选择

下一篇:没有了