Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Author: 曹北健
- Result: AC Submission_id: 4350793
- Created at: Tue Apr 19 2022 22:28:40 GMT+0800 (China Standard Time)
- Problem_id: 5556 Time: 5 Memory: 1740
- */
- #include <stdio.h>
- #pragma warning(disable:4996)
- long long A_re[16][16] = { 0 }, A_im[16][16] = { 0 };
- long long B_re[16][16] = { 0 }, B_im[16][16] = { 0 };
- int main(){
- int n, i, j, k;
- char input[32] = { 0 };
- scanf("%d", &n);
- for(i = 0; i < n; i++){
- for(j = 0; j < n; j++){
- scanf("%s", input);
- sscanf(input, "%lld%lld", &A_re[i][j], &A_im[i][j]);
- }
- }
- for(i = 0; i < n; i++){
- for(j = 0; j < n; j++){
- scanf("%s", input);
- sscanf(input, "%lld%lld", &B_re[i][j], &B_im[i][j]);
- }
- }
- for(i = 0; i < n; i++){
- for(j = 0; j < n; j++){
- long long re0 = 0, im0 = 0, tmpre, tmpim;
- for(k = 0; k < n; k++){
- //A[i][k]*B[k][j]
- tmpre = A_re[i][k] * B_re[k][j] - A_im[i][k] * B_im[k][j];
- tmpim = A_re[i][k] * B_im[k][j] +A_im[i][k] * B_re[k][j];
- re0 += tmpre;
- im0 += tmpim;
- }
- //output
- if(re0 == 0 && im0 == 0){
- printf("0 ");
- }
- else if(re0 == 0){
- if(im0 == 1){
- printf("i ");
- }
- else if(im0 == -1){
- printf("-i ");
- }
- else{
- printf("%lldi ", im0);
- }
- }
- else if(im0 == 0){
- printf("%lld ", re0);
- }
- else{
- printf("%lld", re0);
- if(im0 == 1){
- printf("+i ");
- }
- else if(im0 == -1){
- printf("-i ");
- }
- else{
- if(im0 > 0){
- printf("+");
- }
- printf("%lldi ", im0);
- }
- }
- }
- printf("\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment