Uva The skyline Problem

Code:
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<algorithm>
#include<string.h>
using namespace std;
int main()
{
    int arr[10005];
    memset(arr,0,sizeof(arr));
    int a,b,c;
    int maxn=0;
    while(scanf("%d %d %d",&a,&b,&c)!=EOF)
    {
        for(int i=a; i<c; i++)
        {
            if(arr[i]<b) arr[i]=b;
        }
        if(maxn<c) maxn=c;
    }
    bool start=true;
    for(int i=0; i<=maxn; i++)
    {
        if(start==true && arr[i]!=0)
        {
            printf("%d %d ",i,arr[i]);
            start=false;
        }
        else if(start==false && arr[i]!=arr[i-1])
        {
            if(i==maxn) printf("%d %d",i,arr[i]);
            else printf("%d %d ",i,arr[i]);

        }
    }
    printf("\n");
    return 0;

}

留言

這個網誌中的熱門文章

Things a Little Bird Told Me: Confessions of the Creative Mind

UVa 12970 Alcoholic Pilots

UVa 483 Word Scramble