#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;
hadone = true;
firstrow = 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 = 0; 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 | 2ms | 356 KiB | ||||
2 | Elfogadva | 2ms | 356 KiB | ||||
subtask2 | 50/50 | ||||||
3 | Elfogadva | 8ms | 552 KiB | ||||
4 | Elfogadva | 8ms | 392 KiB | ||||
5 | Elfogadva | 10ms | 496 KiB | ||||
6 | Elfogadva | 10ms | 396 KiB | ||||
7 | Elfogadva | 4ms | 376 KiB | ||||
subtask3 | 50/50 | ||||||
8 | Elfogadva | 8ms | 500 KiB | ||||
9 | Elfogadva | 10ms | 356 KiB | ||||
10 | Elfogadva | 32ms | 632 KiB | ||||
11 | Elfogadva | 61ms | 356 KiB | ||||
12 | Elfogadva | 68ms | 492 KiB | ||||
13 | Elfogadva | 37ms | 756 KiB | ||||
14 | Elfogadva | 50ms | 812 KiB | ||||
15 | Elfogadva | 87ms | 988 KiB | ||||
16 | Elfogadva | 54ms | 932 KiB | ||||
17 | Elfogadva | 4ms | 356 KiB |