Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

wa了数十次用时8小时终于a了悲剧啊

Posted by ewzyq at 2013-09-19 13:04:41 on Problem 2376
#include<stdio.h>
#include<stdlib.h>
#define MAX  25000+10
struct node
{
    int x,y;
}v[MAX];
int cmp(const void *_a,const void *_b)
{
    node *a=(node *)_a;
    node *b=(node *)_b;
    if((a->x) != (b->x))
    return a->x - b->x;
    else return b->y - a->y;
}
int main()
{
    int n,t;
    int s,e,max;
    int flag,mark;
    int cnt;
    while(scanf("%d %d",&n,&t)>0)
    {
        for(int i=0;i<n;i++)
        {
            scanf("%d %d",&v[i].x,&v[i].y);
        }
        qsort(v,n,sizeof(v[0]),cmp);
        if(v[0].x!=1) { printf("-1\n"); continue; }
        if(v[0].x==1&&v[0].y==t){printf("1\n"); continue;}
        int i=0;
        s=e=max=0;
        mark=0;
        cnt=0;
        while(i<n)
        {
            flag=0;
            while(v[i].x<=e+1&&i<n)
            {
                if(v[i].y<=max)
                {
                    i++;
                    continue;
                }
                else
                {
                    max=v[i].y;
                    flag=1;
                }
            }
            if(flag)
            {
                e=max;
                cnt++;
            }
            else
            {
                break;
            }
            if(max==t)
            {
                mark=1;
                break;
            }
        }
        if(mark) printf("%d\n",cnt);
        else
            printf("-1\n");
    }
}


Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator