本题可以通过判断每行的1的数量有几个不同值来得出数字
(拿题目样例来说,比如7X7的8有两种不同值,3个1和2个1;6有3个不同值,3个1,1个1,2个1;1只有一种不同值,1个1)
#include<iostream>
using namespace std;
int n,m,s[1005][1005],num[1005]={0},num1=0;
int main()
{
cin>>n>>m;
for(int i=0;i<n;i++)
{
int sum=0;
for(int j=0;j<m;j++)
{
cin>>s[i][j];
if(s[i][j]==1) sum++;
}
if(sum)
{
if(!num1) num[++num1]=sum;
else
{
int flag=0;
for(int k=1;k<=num1;k++)
{
if(sum==num[k]) flag=1;
}
if(!flag) num[++num1]=sum;
}
}
}
if(num1==1) cout<<"1";
else if(num1==2) cout<<"8";
else cout<<"6";
return 0;
}