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

plz!!!!!!!!XD

Posted by xiaoqiangwj at 2008-10-26 12:01:52 on Problem 1328
I don't know why I always get WA. Someone plzzz help me!

#include <iostream>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
using namespace std;

typedef struct{
  double left;
  double right;
}INTERVAL;

int compare(const void* a, const void* b){
  INTERVAL* i1= (INTERVAL*) a;
  INTERVAL* i2= (INTERVAL*) b;
  return (*i1).left-(*i2).left;
}

int main(){
  int x,y,r;
  int numCase;
  double x0,r0;
  bool error=false;
  int i,t,caseNow;
  INTERVAL interval[1001];
  int size=0;
  int result;
  caseNow=0;
  while (1){
    size=0;
    result=1;
    caseNow++;
    error=false;
    cin >>numCase>>r;
    if (!numCase && !r) return 0;
    if(r<=0) error=true;
    for (i=0;i<numCase;i++){
      cin >>x>>y;
      r0=sqrt(r*r-y*y);
      if(r<y) error=true;
      if(y<0) error=true;
      r0=x-r0;
      interval[i].left=r0-r;
      interval[i].right=r0+r;
      //cout <<interval[i].left<<"  "<<interval[i].right<<endl;

      size++;
   }
   if(error){
     cout <<"Case "<<caseNow<<": -1"<<endl;
   }else{
     qsort(interval,numCase,sizeof(INTERVAL),compare);
     //for (i=0;i<numCase;i++)        cout <<interval[i].left<<"  "<<interval[i].right<<endl;
     for(i=1; i<numCase;i++){
     //  cout <<"result"<<result<<endl;
     //  cout <<interval[i].left<<"  "<<interval[i-1].right<<endl;
     //  cout <<((interval[i].left) > (interval[i-1].right))<<endl;
       if ((interval[i].left) > (interval[i-1].right)) result++;
     }
    cout <<"Case "<<caseNow<<": "<<result<<endl;
  }
  }
  return 0;
}

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