Kvalifikacije 2009 I - IT

Da li neko zna zašto mi za ovaj zadatak izlazi incorrect output , iako mi skroz tačno radi?

http://bee.bubblecup.org/Problemi/2009-kvalifikacije-I-ss-it

Moje rešenje:

#include
#include
using namespace std;
int main()
{
double m,b,x,y,k,k2;
int n,i,s=0;
scanf("%lf%lf",&m,&b);
scanf("%d",&n);

for(i=1;i<=n;i++)
{
   scanf("%lf%lf",&x,&y);
   k=m*x+b;
   if(y==k && x>=0) s++;
}
printf("%d",s);
return 0;

}

Ne bi trebalo da uporedjujes realne brojeve tako.

.
.
.

.
.
.

Knjiga

.
.
.

#include <cmath>
#include <cstdio>

using namespace std;

int main() {
	double m, b;
	int n, sol = 0;
	scanf("%lf%lf",&m,&b);
	scanf("%d",&n);
	
	double e = 0.000001;
	
	while(n--){
		
		double x, y;
		scanf("%lf%lf", &x, &y);
		
		if( fabs(y-(m*x+b)) <= e && x >= 0){
			sol++;
		}
		
	}
	
	printf("%d",sol);
	
	return 0;
}

Hvala, radi kada ispravim poredjenje!

1 Like