#include <bits/stdc++.h>
using namespace std;
void run_case()
{
int n,m;
cin>>n>>m;
vector <string> matrix;
bool valid = true;
bool firstrow = false;
bool hadone = false;
for(int i = 0; i< n ;i++){
string s;
cin>>s;
matrix.push_back(s);
bool f1 = false;
if(valid == true){
if(firstrow == false){
for(int j = 0;j<m;j++){
if(s[j] == '1' && f1 == false){
f1 = true;
firstrow = true;
hadone = true;
}
else if(s[j] == '1' && f1 == true){
if(s[j-1] != '1') valid = false;
}
}
}
else{
for(int j = 0;j<m;j++){
if(s[j] == '1' && f1 == false){
f1 = true;
if(matrix[i-1][j] != '1') valid = false;
}
else if(s[j] == '1' && f1 == true){
if(s[j-1] != '1' || matrix[i-1][j] != '1') valid = false;
}
}
}
}
}
int occurance = 0;
bool firstocc = false;
for(int i = 1; i<n;i++){
int freq = 0;
if(firstocc == false){
for(int j = 0;j<m;j++){
if(matrix[i][j] == '1'){
firstocc = true;
freq++;
}
}
occurance = freq;
}
else{
for(int j = 0;j<m;j++){
if(matrix[i][j] == '1') freq ++;
}
if(freq != 0 && freq != occurance) valid = false;
}
}
if(valid == false || hadone == false) cout<<0<<endl;
else cout<<1<<endl;
}
int main()
{
int t;
cin>>t;
while(t-->0){
run_case();
}
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
subtask1 | 0/0 | ||||||
1 | Elfogadva | 3ms | 356 KiB | ||||
2 | Elfogadva | 2ms | 356 KiB | ||||
subtask2 | 0/50 | ||||||
3 | Elfogadva | 8ms | 372 KiB | ||||
4 | Hibás válasz | 8ms | 320 KiB | ||||
5 | Elfogadva | 12ms | 356 KiB | ||||
6 | Hibás válasz | 12ms | 408 KiB | ||||
7 | Hibás válasz | 4ms | 356 KiB | ||||
subtask3 | 0/50 | ||||||
8 | Hibás válasz | 8ms | 492 KiB | ||||
9 | Hibás válasz | 10ms | 384 KiB | ||||
10 | Elfogadva | 32ms | 356 KiB | ||||
11 | Elfogadva | 61ms | 492 KiB | ||||
12 | Elfogadva | 68ms | 484 KiB | ||||
13 | Elfogadva | 37ms | 616 KiB | ||||
14 | Elfogadva | 50ms | 720 KiB | ||||
15 | Elfogadva | 87ms | 1040 KiB | ||||
16 | Elfogadva | 54ms | 1224 KiB | ||||
17 | Hibás válasz | 4ms | 376 KiB |