寝癖頭の解法

学習中の覚え書きを投稿、更新していきます。

Aizu Online Judge in C++ #Volume2 : 0241 - Quaternion Multiplication

Aizu Online Judge(AOJ)の過去問から、その提出コードの解答例です。

・問題 "Quaternion Multiplication"
https://onlinejudge.u-aizu.ac.jp/problems/0241
四元数のかけ算
僕が作成、提出したコードは、以下のとおりです。

Aizu Online Judge in C++ #Volume2 : 0241 - Quaternion Multiplication
/*
Aizu Online Judge in C++ #Volume2 : 0241 - Quaternion Multiplication
https://onlinejudge.u-aizu.ac.jp/problems/0241
 提出コードの解答例
 https://neguse-atama.hatenablog.com
*/
#include<bits/stdc++.h>
using namespace std;
using ll=long long;
int main(void){
    ll n;
    while(cin>>n,n){
        while(n--){
            ll b,c,d,e,f,g,h,i;
            cin>>b>>c>>d>>e>>f>>g>>h>>i;
            printf("%d %d %d %d\n",b*f-c*g-d*h-e*i,b*g+c*f+d*i-e*h,b*h-c*i+d*f+e*g,b*i+c*h-d*g+e*f);
        }
    }
    return 0;
}

設問の出典は、プログラミング問題のオンライン採点システム「Aizu Online Judge(AOJ)」です。
http://judge.u-aizu.ac.jp/onlinejudge/