Блог пользователя Renyxa

Автор Renyxa, 9 лет назад, По-русски

Здравствуйте. Решаю задачу про точку пересечения прямых(http://www.e-olimp.com/problems/2143), используя формулы X = -(C1*B2-C2*B1)/(A1*B2-A2*B1), Y=(A2*C1-A1*C2)/(A1*B2-A2*B1). Бьюсь над этой задачей второй день, но не пойму, почему не проходят некоторые тесты. Помогите пожалуйста. http://www.e-olimp.com/solutions/1889546

#include <bits/stdc++.h>
using namespace std;

struct Line {
	double a, b, c;
};

Line s;
Line d;

double x, y;

void inter_point() {
	x = (d.c*s.b &mdash; s.c*d.b) / (s.a*d.b &mdash; d.a*s.b);
	y = (s.c*d.a &mdash; d.c*s.a) / (s.a*d.b &mdash; d.a*s.b);
}


int main() {

	cout.setf(ios::fixed);
	cout.precision(2);

 
	cin >> s.a >> s.b >> s.c;
	cin >> d.a >> d.b >> d.c;

	inter_point();

	cout << x << ' ' << y << endl;

	return 0;
}
  • Проголосовать: нравится
  • +4
  • Проголосовать: не нравится

»
9 лет назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится

У них чекер кривой. Добавь к x и y eps = 1e-9 и будет AC.