zoukankan      html  css  js  c++  java
  • 2018.02.01(考试)

    2018.01.07

    寒假培训热身赛

    1.奖学金

     1 #include <stdio.h>
     2 #include <math.h>
     3 #include <string.h>
     4 int grade[500][3];
     5 int main(){
     6     freopen("scholar.in","r",stdin);
     7     freopen("scholar.out","w",stdout);
     8     int n;
     9     int i,j;
    10     scanf("%d",&n);
    11     for(i=1;i<=n;i++){
    12         grade[i][0]=i;
    13         int b,c;
    14         scanf("%d%d%d",&grade[i][1],&b,&c);
    15         grade[i][2]=grade[i][1]+b+c;
    16     }
    17     /*排序*/
    18     int t;
    19     for(i=1;i<n;i++){
    20         int max=i;
    21         for(j=i+1;j<=n;j++){
    22             if(grade[max][2]<grade[j][2])
    23                 max=j;
    24             else if(grade[max][2]==grade[j][2]){
    25                 if(grade[max][1]<grade[j][1])
    26                     max=j;
    27                 else if(grade[max][1]==grade[j][1]&&grade[max][0]>grade[j][0])
    28                     max=j;
    29             }
    30         }
    31         if(max!=i){
    32             t=grade[max][0];grade[max][0]=grade[i][0];grade[i][0]=t;
    33             t=grade[max][1];grade[max][1]=grade[i][1];grade[i][1]=t;
    34             t=grade[max][2];grade[max][2]=grade[i][2];grade[i][2]=t;
    35         }
    36     }
    37     for(i=1;i<=5;i++)
    38         printf("%d %d
    ",grade[i][0],grade[i][2]);
    39     return 0;
    40 }
    View Code

    状态:AC

    2.纪念品分组

     1 #include <cstdio>
     2 #include <cmath>
     3 #include <cstring>
     4 #include <iostream>
     5 #include <algorithm>
     6 using namespace std;
     7 int book[30001],w;
     8 int numb[30001];
     9 int n,yhb=0;
    10 int main(){
    11     freopen("group.in","r",stdin);
    12     freopen("group.out","w",stdout);
    13     scanf("%d%d",&w,&n);
    14     int i,j;
    15     for(i=0;i<n;i++){
    16         scanf("%d",&numb[i]);
    17         book[i]=1;
    18     }
    19     sort(numb,numb+n);
    20     for(i=n-1;i>=0;i--){
    21         int sum;
    22         sum=w;
    23         if(book[i]==1){
    24             yhb++;
    25             book[i]=0;
    26             for(j=i-1;j>=0;j--){
    27                 if(book[j]==1&&sum>=numb[i]+numb[j]){
    28                     book[j]=0;
    29                     break;
    30                 }
    31             }
    32         }
    33     }
    34     printf("%d
    ",yhb);
    35     return 0;
    36 }
    View Code

    状态:AC

    3.守望者的逃离

     1 #include <stdio.h>
     2 #include <math.h>
     3 #include <string.h>
     4 int magic,time,S;
     5 int _Max(int x,int y){return x>y?x:y;}
     6 int main(){
     7     freopen("escape.in","r",stdin);
     8     freopen("escape.out","w",stdout);
     9     scanf("%d%d%d",&magic,&S,&time);
    10     int i,j;
    11     int walk=0,flash=0;
    12     for(i=1;i<=time;i++){
    13         walk+=17;
    14         if(magic>=10){
    15             magic-=10;
    16             flash+=60;
    17         }
    18         else magic+=4;
    19         walk=_Max(walk,flash);
    20         if(walk>=S){
    21             printf("Yes
    %d",i);
    22             return 0;
    23         }
    24     }
    25     printf("No
    %d",walk);
    26     return 0;
    27 }
    View Code

    状态:AC

    4.hanoi双塔问题

     1 #include <stdio.h>
     2 #include <math.h>
     3 #include <string.h>
     4 int noi[1001],wei;
     5 int main(){
     6     freopen("hanoi.in","r",stdin);
     7     freopen("hanoi.out","w",stdout);
     8     int n;
     9     scanf("%d",&n);
    10     for(int i=1;i<=1000;i++)noi[i]=0;
    11     noi[1000]=1;
    12     for(int i=1;i<=n+1;i++){
    13         if(i==n+1){
    14             noi[1000]-=1;
    15             for(int j=1000;j>=1;j--)
    16                 if(noi[j]<0){
    17                     noi[j]+=10;noi[j-1]-=1;}
    18         }
    19         for(int j=1;j<=1000;j++)noi[j]*=2;
    20         for(int j=1000;j>=1;j--)
    21             if(noi[j]>=10){
    22                 noi[j]-=10;noi[j-1]++;}
    23     }
    24     for(int i=1000;i>=1;i--)
    25         if(noi[i]!=0)wei=i;
    26     for(int i=wei;i<=1000;i++)
    27         printf("%d",noi[i]);
    28     return 0;
    29 }
    View Code

    状态:AC

     P.S.     今天又学习了sort函数的一种新操作:sort ( a , a + n , cmp )。cmp是你自己定义的一个函数,在里面可以重新定义sort函数的比较规则,比如从大到小,排序结构体等。

    反思

        对于这次考试,发挥的不是很好。这四道题考查了动态规划之前的除搜索以外所有的基础算法,是一套比较全面的综合题。从考试的情况来看,成绩并不理想,400分只有290分。袁老师说他本来以为我可以上300分的。既然没有达到预期的效果,那么就要反思:

        1.第一题。

        2.第二题。

        3.第三题。

        4.第四题。

  • 相关阅读:
    利用performSelectorInBackground和performSelectorOnMainThread实现多线程刷新UI
    iOS之NSCocoaErrorDomain Code=3840
    iOS之原生地图与高德地图
    iOS之Storyboard References
    iOS之内购
    iOS之上线被拒
    iOS之可拖拽重排的CollectionView
    iOS之内购
    ios专题
    ios专题
  • 原文地址:https://www.cnblogs.com/yzyl-Leo-wey/p/8399663.html
Copyright © 2011-2022 走看看