zoukankan      html  css  js  c++  java
  • 百练-2705:跳绳游戏

    2705:跳绳游戏

     

     

    总时间限制:

    1000ms

    内存限制:

    65536kB

    描述

    小朋友玩跳绳比赛,要计算在一分钟内跳了多少下.假设每秒钟跳一下,如果中途失败了,则要花三秒钟后才能开始重跳.一般小朋友跳绳一分钟要跳坏好几次.现在给出小朋友每次跳坏时已经跳的总数,求小朋友在一分钟内跳了多少下.(请注意分析示例数据.)

    输入

    第一行为n个小朋友
    其余各行,每行第一个整数是跳坏的次数m,其余m个整数是跳坏时累计跳了多少下.

    输出

    输出相应小朋友头一分钟内跳了多少下.

    样例输入

    6

    0

    3 12 23 45

    1 17

    4 10 20 30 40

    5 10 20 30 40 58

    6 10 20 30 40 47 60

    样例输出

    60

    51

    57

    48

    48

    47

    提示

    提示,在跳绳比赛时,你可能已经超时了,但自己还在计数,但裁判已经停止计时并得到成绩了.这里相当与自己计数.因此,并非跳坏的时候都是在前一分钟以内.请注意分析示例数据

    解题思路:

    1、  每次跳坏时跳的次数,加上跳坏的总时间就是总共需要的时间,如果不超过60秒,则跳的总数是(60-调坏的总时间)

    2、  如果超过60秒则需要分两种情况。

    3、  一种是:调坏后,还有不到三秒的时间已经不够下一次跳,一种是:还可以继续跳绳。

    4、  所以输出结果有不同。

    程序代码:

    #include<stdio.h>

    #include<malloc.h>

    int main()

    {

        int *b,n,m,i,j,k,t;

        while(scanf("%d",&n)!=EOF)

        {

         for(i=0;i<n;i++)

         {

          scanf("%d",&m);

          m=m+1;

          b=(int*)malloc(sizeof(int)*m);

          for(j=1;j<m;j++)

           scanf("%d",&b[j]);

          for(j=1,k=0;j<=m;j++)

           {

             k=j*3+b[j];

             if(k>60)          //判断跳的时间是否超过60秒

             break;

           }

          //printf("%d ",j);

           if(j>m-1)

           printf("%d ",60-3*(m-1));      //没有超过60秒的

           else

           {

             t=60-3*(j-1);

             if(t<b[j])                     //判断调坏之后的时间是否还够下一次在跳的时间(3秒)。

              printf("%d ",t);

              else

              printf("%d ",b[j]);

            }

         }

         free(b);

        }

        return 0;

    }

  • 相关阅读:
    服务注册中心之Eureka使用
    微服务之服务注册中心
    Idea热部署功能
    微服务Cloud整体聚合工程创建过程
    微服务架构理论&SpringCloud
    关于母函数
    HDU 1028(母函数)整数划分
    1021 FIBERNACI
    1019
    1014 巧妙的gcd 生成元
  • 原文地址:https://www.cnblogs.com/zhouhongweihpu/p/3225223.html
Copyright © 2011-2022 走看看