zoukankan      html  css  js  c++  java
  • Educational Codeforces Round 10 A B题、

    A. Gabriel and Caterpillar

    题意: 就是说  一个小孩子去观察毛毛虫从 h1的地方爬到h2的地方、毛毛虫从10点爬到22点、每小时爬的距离是a, 晚上22点到第二天早上10点 毛毛虫休息 每小时下落b距离、但是最初状态是那个小孩子从14点开始观察毛毛虫的, 必须过了24点才算一天

    思路:模拟、但细节地方要注意

    hint:但你要知道什么情况下永远也爬不上去,就是说每小时下落比每小时上升的距离大呢,但这还有个细节, 就是即使b>a 但毛毛虫是先可以爬10个小时,如果在这10个小时内爬到了h2 也就是说 及时b>a它也可以爬到

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cmath>
     4 int main()
     5 {
     6     int n,m;
     7     int a,b;
     8     while(~scanf("%d%d%d%d",&n,&m,&a,&b)){
     9         int ans=m-n;
    10         int flag=1;        //标记变量、记录是否能爬到终点 
    11         int distance=0;
    12         int time=0;
    13         distance+=a*8;
    14             if(distance<ans){
    15                 while(1){
    16                     distance-=b*12;        //休息 
    17                     ++time;            // 休息时间过了24点、 所以算一天 
    18                     distance+=a*12;
    19                     if(distance>=ans)    break;
    20                     if(b>=a){        //直接在循环里面判断、 因为前面可以爬的10小时可以到终点的话 
    21                         flag=0;        //  也就不会进循环了 
    22                         break;
    23                 }
    24             }    
    25         }
    26         if(!flag)    printf("-1
    ");
    27         else        printf("%d
    ",time);
    28     }
    29 }

    B. z-sort

    题意:先给你一个数列、问用着数列的数是否可以组成一个 对于数列中每一个偶数项 存在ai ≥ ai - 1、对于每一个奇数项 存在ai ≤ ai - 1思路:我是这样想的、既然要满足两个条件、 那么对于从前到后的奇数项来说是一个非递减的,对前到后的偶数项来说是一个非递增的、

          那么对于所给的数列、 排一个序,然后贪心,具体看代码吧

      

     1 #include<cmath>
     2 #include<cstring>
     3 #include<iostream>
     4 #include<cstdio>
     5 #include<algorithm>
     6 using namespace std;
     7 int num[1005];
     8 int main()
     9 {
    10     int n;scanf("%d",&n);
    11     for(int i=1;i<=n;++i)
    12         scanf("%d",&num[i]);
    13     sort(num+1,num+n+1);
    14     int ans[1005];
    15     int add,dre;
    16     add=1;
    17     dre=n;
    18     for(int i=1;i<=n;++i)            //构造这样一个数列
    19         if(i%2==0)
    20             ans[i]=num[dre--];
    21         else
    22             ans[i]=num[add++];
    23         int flag=1;
    24 //    for(int i=1;i<=n;++i)    
    25 //        printf("%d ",ans[i]);
    26 //        printf("
    ");
    27     for(int i=2;i<=n;++i)        //判断构造的数列是否满足条件
    28         if(i%2==0){
    29             if(ans[i]<ans[i-1])    flag=0;
    30         }
    31         else
    32             if(ans[i]>ans[i-1])    flag=0;
    33     if(!flag)    printf("Impossible");
    34     else    for(int i=1;i<=n;++i)    printf("%d ",ans[i]);
    35     printf("
    ");    
    36     return 0;
    37 }

     C  D 题意其实都看懂了、  就是做不出来     好气好气阿, 

    读题方面比以前好一点了、

    继续努力吧、

  • 相关阅读:
    深入浅出WPF-08.Event( 事件)01
    深入浅出WPF-07.Property(属性)
    深入浅出WPF-06.Binding(绑定)03
    深入浅出WPF-06.Binding(绑定)02
    深入浅出WPF-06.Binding(绑定)01
    常用快递电子面单账户申请详解(顺丰、中通、圆通、申通、百世、韵达)
    快递鸟电子面单批量打印以及模板设置
    快递公司电子面单怎么申请充值单号(中通、圆通、申通、韵达、百世)
    不限量的快递鸟单号查询接口-JAVA对接方法
    快递单号识别查询api接口调用对接demo
  • 原文地址:https://www.cnblogs.com/sasuke-/p/5321982.html
Copyright © 2011-2022 走看看