ZJANS

b603. 拋物線方程式

Medium Last Update: 2026/01/17
數學

解法一、數學

✅ 完整代碼

評分結果(參考) : AC (3ms, 332KB)

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

signed main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int x1, y1, x2, y2;
    while(cin >> x1 >> y1 >> x2 >> y2) {
        int dx = x2-x1;
        int dy = y2-y1;
        int k = __gcd(dx*dx, abs(dy));
        
        int a = dx*dx/k;
        int b = dy/k;
        int c = dy/k * (-2)*x1;
        int d = dy/k * x1*x1 + y1 * dx*dx/k;
        
        cout << a << "y = " << b << "x^2 + " << c << "x + " << d << "\n";
    }
    
    return 0;
}