Задача
Даны две целочисленные квадратные матрицы порядка 6. Найти последовательность из нулей и единиц [latex]b_{1},\ldots,b_{6}[/latex] такую, что [latex]b_{i}=1[/latex] , когда все элементы [latex]i[/latex]-строки первой матрицы больше соответствующих элементов [latex]i[/latex]-строки второй матрицы.
Тесты
матрица 1 | матрица 2 | строка | комментарий |
2 4 5 6 7 0
5 6 7 3 0 2 -7 9 -5 90 32 11 45 7 -1 3 4 7 2 2 2 2 2 2 5 7 5 8 3 1 |
1 3 -5 -6 4 -4
2 5 9 4 1 3 7 6 -2 0 56 19 5 6 -2 1 3 0 1 1 1 1 1 1 2 4 7 2 0 1 |
100110 | пройден |
9 8 7 6 7 8
2 3 4 5 6 7 1 9 6 0 3 5 5 8 -2 3 4 5 9 7 6 5 4 3 7 6 4 3 2 6 |
9 8 7 6 7 8
1 2 2 2 2 2 1 9 6 0 3 5 0 0 -4 0 0 0 9 7 6 5 4 3 1 1 1 1 1 1 |
010101 | пройден |
Код
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
#include <iostream> using namespace std; const int n = 6; void read_matrix(int a[][n], int n); void prnt(int a[],int n); int main() { int M1[n][n]; int M2[n][n]; int result[n]; read_matrix(M1,n); read_matrix(M2,n); for(int i = 0; i < n; i++) { result[i] = 1; for(int j = 0; j < n; j++){ if( !(M1[i][j] > M2[i][j]) ) { result[i] = 0; break; } } } prnt(result,n); return 0; } void read_matrix(int a[][n], int n) { for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { cin >> a[i][j]; } } } void prnt(int a[], int n) { for (int i = 0; i < n; i++) { cout << a[i] << " "; } } |
Ссылка на код.
Код на Java:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
import java.util.*; import java.lang.*; import java.io.*; class Main { static int n; static Scanner in; public static void main (String[] args) { int M1[][]; int M2[][]; int rezult[]; in = new Scanner(System.in); n = 6; M1 = new int [n][]; M2 = new int [n][]; rezult = new int [n]; for(int i = 0 ; i < n; i++) { M1[i] = new int [n]; M2[i] = new int [n]; } read_matrix(M1,n); read_matrix(M2,n); for(int i = 0; i < n; i++) { rezult[i] = 1; for(int j = 0; j < n; j++){ if( !(M1[i][j] > M2[i][j]) ) { rezult[i] = 0; break; } } } prnt(rezult,n); } static void read_matrix(int a[][], int n) { for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { a[i][j] = in.nextInt(); } } } static void prnt(int a[], int n) { for (int i = 0; i < n; i++) { System.out.print(a[i]+" "); } } } |