#include <iostream> #include <vector> using namespace std; void Matrix(vector<vector<int>> A, vector<vector<int>> B) { vector<vector<int>> C; int SIZE; if (A[0].size() > B[0].size()) SIZE = A[0].size(); else SIZE = B[0].size(); for (int i = 0; i < SIZE; i++) { vector<int> Temp; Temp.resize(SIZE); C.push_back(Temp); } int ARow = 0; int ACol = 0; int BRow = 0; int BCol = 0; int CRow = 0; int CCol = 0; int Sum = 0; while (true) { Sum += A[ARow][ACol++] * B[BRow++][BCol]; if (BRow > A[0].size() - 1) { if (CCol > C[0].size() - 1) { CCol = 0; CRow++; } C[CRow][CCol++] = Sum; Sum = 0; BCol++; BRow = 0; ACol = 0; } if (BCol > B[0].size() - 1) { ACol = 0; ARow++; BRow = 0; BCol = 0; } if (ARow > B[0].size() - 1) break; } for (int i = 0; i < SIZE; i++) { for (int j = 0; j < SIZE; j++) { cout << C[i][j] << " "; } cout << endl; } } int main() { int N, M; cin >> N >> M; vector<vector<int>> A; vector<vector<int>> B; for (int i = 0; i < N; i++) { vector<int> Temp; Temp.resize(M); A.push_back(Temp); for (int j = 0; j < M; j++) { cin >> A[i][j]; } } cin >> M >> N; for (int i = 0; i < M; i++) { vector<int> Temp; Temp.resize(N); B.push_back(Temp); for (int j = 0; j < N; j++) { cin >> B[i][j]; } } Matrix(A, B); return 0; }
# include < iostream > # include < vector > using namespace std ; int Num_of_Divisor ( int n ) { int Count = 0 ; for ( int i = 1 ; i < = n ; i + + ) if ( n % i = = 0 ) Count + + ; return Count ; } int main ( ) { int Testcase ; cin > > Testcase ; while ( Testcase - - ) { int Rooms ; cin > > Rooms ; vector < int > Prisons ; for ( int i = 0 ; i < Rooms ; i + + ) Prisons . push_back ( 0 ) ; for ( int i = 1 ; i < Prisons . size ( ) + 1 ; i + + ) { if ( ( Num_of_Divisor ( i ) % 2 ) = = 0 ) Prisons [ i - 1 ] = 0 ; else Prisons [ i - 1 ] = 1 ; } int Fleer = 0 ; for ( int i = 0 ; i < Prisons . size ( ) ; i + + ) if ( Prisons ...
댓글
댓글 쓰기