zoukankan      html  css  js  c++  java
  • Good Bye 2016

    A. New Year and Hurry

    题意:有n个题目,第i个题目需要花 5*i 分钟完成,从晚上八点开始,十二点结束,并且要留下 k 分钟打扫卫生,最多能做几个题?

    分析:四个小时240分钟,先减去打扫的时间 k 分钟,再来做题。

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 
     4 int main()
     5 {
     6     int n,k;
     7     scanf("%d%d",&n,&k);
     8     int temp=240;
     9     temp-=k;
    10     int ans=0;
    11     for(int i=1;i<=n;i++)
    12     {
    13         if(temp-i*5>=0)
    14         {
    15             temp-=i*5;
    16             ans++;
    17         }
    18         else
    19             break;
    20     }
    21     printf("%d
    ",ans);
    22     return 0;
    23 }
    View Code

    B. New Year and North Pole

    题意:将地球视为一个球,初始的位置在北极,按步骤移动之后是否仍在北极?在北极和南极时不能向东西两边移动。

    分析:按照题意模拟即可,注意非法的操作。

    #include<bits/stdc++.h>
    using namespace std;
    
    int main()
    {
        int n;
        while(scanf("%d",&n)!=EOF)
        {
            int t;char s[20];memset(s,0,sizeof(s));
            int temp=0;
            int flag=0;
            for(int i=1;i<=n;i++)
            {
                memset(s,0,sizeof(s));
                scanf("%d%s",&t,s);
                if((temp==0||temp==20000)&&(s[0]=='E'||s[0]=='W'))
                    flag=1;
                if(s[0]=='S')
                    temp+=t;
                else if(s[0]=='N')
                    temp-=t;
                if(temp<0||temp>20000)
                    flag=1;
                
            }    
            if(flag)
                printf("NO
    ");
            else
            {
                if(temp==0)
                    printf("YES
    ");
                else
                    printf("NO
    ");
            }
        } 
        return 0;
    }
    View Code

    C. New Year and Rating

    题意:一个人初始的cf分数是未知的,但是有他参加的一些比赛的信息。c表示这场比赛变化的分数,d表示参加的版本。

    分析:设最初的分数范围为-INF~INF, 然后根据版本求交集,根据变化的分数来改变范围,最后取最大值。

    #include<bits/stdc++.h>
    using namespace std;
    const int INF=1e9;
    int x,y;
    int nx,ny;
    int flag;
    void jiao(int a,int b,int c,int d)
    {
        if(b<c||d<a)
        {
            flag=0;
            return;
        }
        int t[4];
        t[0]=a,t[1]=b,t[2]=c,t[3]=d;
        sort(t,t+4);
        x=t[1],y=t[2];
        return;
    }
    int main()
    {
        int n;scanf("%d",&n);
        x=-INF,y=INF;
        flag=1;
        for(int i=1;i<=n;i++)
        {
            int c,d;scanf("%d%d",&c,&d);
            if(d==1)
                nx=1900,ny=INF;
            else
                nx=-INF,ny=1899;
            jiao(x,y,nx,ny);
            x+=c;
            if(y!=INF)
                y+=c;
        }
        if(flag==0)
            printf("Impossible
    ");
        else
        {
            if(y==INF)
                   printf("Infinity
    ");
               else 
                   printf("%d
    ",y);
        }
         return 0;
        
    }
    View Code

     

  • 相关阅读:
    【18焦作网络赛 J】 大数开方
    最小圆覆盖
    高斯消元
    回文自动机 PAM
    后缀自动机 SAM
    后缀数组 SA
    左偏树(可并堆)
    动态树LCT(Link-Cut-Tree)
    职场自我推销10大金点子
    数据库笔记
  • 原文地址:https://www.cnblogs.com/yepiaoling/p/6242232.html
Copyright © 2011-2022 走看看