Дана таблица N × N, заполненная целыми числами. Петр Первый считает столбец хорошим, если тот содержит число Х. Требуется для каждого столбца выяснить, является ли тот хорошим.
Входные данные
В первой строке число X, не превышающее по модулю 2*10^9. Во второй строке число N (1 <= N <= 100), В следующих N строках по N целых чисел, не превышающих по модулю 2*10^9 – числа в ячейках таблицы.
Выходные данные
Для каждого столбца выведите YES, если в нем есть число Х, и NO в противном случае. (Каждый ответ с новой строки)
Я написал такой код:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
int x, n, tmp;
bool m;
cin >> x >> n;
vector<vector<int> > matrix(n); // Обьявление матрицы векторов для хранения данных таблицы
for (int i = 0; i < n; i++){
matrix[i].resize(n); // Расширяем каждый столбец таблицы до значения n
}
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++){
cin >> matrix[i][j]; // получаем числа на ввод
}
}
for(int i = 0; i < n; i++){
m = 0;
for(int j = 0; j < n; j++){ //пробегаем циклом по столбцам, если в ячейке стобца есть x - выводим YES
if(matrix[i][j] == x){
m = true;
break;
}
}
if(m){
cout << "YES\n";
} else{
cout << "NO\n"; // если в столбце нет x, выводим NO и переходим к следующему столбцу
}
}
}
Но он не проходит и половины тестов, и я не понимаю почему. В чем ошибка? Как мне ее исправить?