/*
本題似乎測資不是以四個零作結束,因此判斷結尾最好和EOF讀檔混用,以免TLE
另外,小數點後必須剛好5位數字,這可以用C style的"%.5f"或C++ style的fixed << setprecisionx來辦到
其實這種題目應該啟用浮點數比對之類的...題幹也未提要如何輸出...目前的測資真的是爛掉的
*/
#include <bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(false);//原先以為TLE原因是頻繁I/O而加上的
cin.tie(0);
double a, b, c, d;
double det;
while(cin >> a >> b >> c >> d){
if(a == 0 && b == 0 && c == 0 && d == 0)return 0;
det = a * d - b * c;
if(det == 0)cout << "cheat!\n";
else cout << fixed << setprecision(5) << d / det << ' ' << -b / det << '\n' << -c / det << ' ' << a / det << '\n';
}
return 0;
}
用 python解的話也有這樣的困擾,寫4個0的寫法是行不通的,是小數點後5位都要寫出來,注意EOF,我的寫法:
try:
while True:
j=input().split()
k=input().split()
a=float(j[0])
b=float(j[1])
c=float(k[0])
d=float(k[1])
rev=a*d-b*c
if a==0 and b==0 and c==0 and d==0:
end=1
break
elif rev==0:
print('cheat!')
else:
a1=d/rev
b1=-b/rev
c1=-c/rev
d1=a/rev
print('%.5f %.5f' %(a1,b1))
print('%.5f %.5f' %(c1,d1))
except EOFError:
pass