这道题真的是气死我了,比赛的最后差一点,赛后A题,
解题思路: 这个按着题意推矩阵,矩阵的数据都是int型的,输入的是K‘ 的矩阵,推出K 矩阵,把K矩阵和A矩阵代入上面给出的公式,推C矩阵
#include<bits/stdc++.h> using namespace std; typedef long long ll; int main() { int a ; ios::sync_with_stdio(false); cin.tie(0);cout.tie(0); cin>>a; while(a--){ int pos; cin>>pos; int k_[4][4]; int k[4][4]; int n[55][55]; int C[55][55] = {0}; int sum = 0; for(int i = 1 ; i <= pos; i++) for(int j = 1; j <= pos ; j++) cin>>n[i][j]; for(int i = 1 ; i <= 3; i++) for(int j = 1; j <= 3 ; j++){ cin>>k_[i][j]; sum+=k_[i][j]; } for(int i = 1 ; i <= 3; i++) for(int j = 1; j <= 3 ; j++){ k[i][j] = k_[i][j] / (sum*1.0); } for(int x = 1; x <= pos ; x++){ for(int y = 1; y <= pos ; y++){ for(int i = 1; i <= min(pos-x+1,3);i++){ for(int j = 1; j <= min(pos-y+1,3) ;j++){ C[x][y] += (n[x+i-1][y+j-1] * k[i][j]);//题目公式 } } } } for(int i =1 ; i <= pos ; i++){ for(int j = 1 ; j <= pos ; j++){ if(j==1) cout<<(int)C[i][j]; else cout<<" "<<(int)C[i][j]; } cout<<endl; } } return 0; }
最后哭死!!!!!!!!
HDU 6898 3x3 Convolution && CCPC 2020网络赛1011题
原文:https://www.cnblogs.com/Li-ningning/p/13701083.html