genius0615上課時總是在打手機不聽老師上課
有一天老師在上矩陣時終於爆發了!!!
老師處罰他寫1千題的反方陣(定義在下面的提示)
在他欲哭無淚時
突然想到有ZJ這個網站
找個大神幫他寫程式作業一下就秒殺了
於是他把這題貼到了上面
現在就麻煩大神們幫他寫個程式
秒殺這些題目吧
輸入說明 :
輸入有兩行每行有2個數字代表2階方陣
輸入4個0表示結束
輸出說明 :
輸出此方陣的反方陣精準到小數點以下第5位
若此方陣無反方陣則輸出cheat!
範例輸入 :
1 2
3 4
1 1
1 1
0 0
0 0
範例輸出 :
-2.00000 1.00000
1.50000 -0.50000
cheat!
提示 :
背景知識: 反方陣
反方陣是個類似指數的-1次方的東西
換句話說方陣乘以反方陣會等於單位方陣
單位方陣的定義是任何方陣乘以它之後值不變
矩陣乘法可參考:
http://zerojudge.tw/ShowProblem?problemid=d481
程式碼 :
#include<stdio.h> int main() { int a[4],temp; while(scanf("%d %d %d %d",&a[0],&a[1],&a[2],&a[3])==4) { if(a[0]==0 && a[1]==0 && a[2]==0 && a[3]==0) break; temp = a[0]*a[3] - a[1]*a[2]; if(temp == 0) printf("cheat!\n"); else printf("%.5f %.5f\n%.5f %.5f\n",(float)a[3]/temp,(float)-a[1]/temp,(float)-a[2]/temp,(float)a[0]/temp); } return 0; }
http://zerojudge.tw/ShowProblem?problemid=d623
沒有留言:
張貼留言