NOIP2013 Day2

1.积木大赛

https://www.luogu.org/problemnew/show/1969

这道题在考试时暴力得比较麻烦,导致只得了80分,t了两个点。

思路为寻找一个区间内高度大于0的最低点,高度为n,ans+=n;

献上个人认为特别巧妙的代码:

#include <cstdio>
int main() 
{   
    int x=0,y,ans=0; 
    freopen("block.in","r",stdin);     
    freopen("block.out","w",stdout);     
    scanf("%d",&y);      
    while(~scanf("%d",&y))     
    {
        if(y>x) ans+=y-x;       
        x=y;     
    }      
    printf("%d",ans);     
    return 0; 
}

2.花匠

https://www.luogu.org/problemnew/show/1970

代码依然很简单,但是很巧妙

#include<stdio.h>
int main()
{
    int n,i,x=0,y,ans=1,flag=0;
    freopen("flower.in","r",stdin);
    freopen("flower.out","w",stdout);
    scanf("%d%d",&n,&x);
    for(i=1;i<n;i++)
    {
        scanf("%d",&y);
        if(y>x&&flag!=1)ans++,flag=1;
        if(y>x&&flag!=-1)ans++,flag=-1;
        x=y;
    }
    printf("%d",ans);
    return 0;
} 

3.华容道

https://www.luogu.org/problemnew/show/1979

考试时想不到如何能暴力骗到分的方法。。。

 

posted @ 2017-11-01 17:39  wisdom_jie  阅读(153)  评论(0编辑  收藏  举报