问题描述
小 𝑇T 喜欢和自己同龄的人交朋友,现在他排在了一个 n 行 m 列的队伍中。
请问在小 𝑇 所在的行和小 𝑇 所在的列中,他一共能交到几个朋友?
比如:一个 6 行 6列的矩阵如下,该矩阵中每个数字代表了一个同学的年龄。
8 9 7 9 5 3
2 9 15 9 9 12
21 3 4 6 7 9
10 10 8 2 3 6
5 4 2 9 5 10
9 11 2 9 5 7
假设小 𝑇T 在第 2 行第 4 列对应的位置,也就是他的年龄是 9 岁,他所在的第 2 行除了小 𝑇 还有 2 个人是 9 岁,他所在的列除了小 𝑇 有 3 个人是 9 岁,因此他可以交到 5 个朋友。
输入
第 1 行有 2 个整数 n 和 m ,分别代表队形的行和列的值( 2≤𝑛,𝑚≤200 )
接下来 n 行,每行有 m 个整数,代表每个同学的年龄(每个同学的年龄的值在 1∼100之间)
接下来最后一行有 2 个整数,代表小 𝑇 在第几行第几列
输出
输出一个整数,代表小 𝑇 可以交到的朋友的数量。
样例
输入
6 6 8 9 7 9 5 3 2 9 15 9 9 12 21 3 4 6 7 9 10 10 8 2 3 6 5 4 2 9 5 10 9 11 2 9 5 7 2 4
输出
5
附代码:
#include<iostream>
using namespace std;
int main()
{
int n,m,h,l,s,py=0;
cin>>n>>m;
int z[n][m];
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
cin>>z[i][j];
}
}
cin>>h>>l;
for(int a=0;a<n;a++)
{
for(int b=0;b<m;b++)
{
if(a==h-1&&b==l-1)
s=z[a][b];
}
}
for(int x=h-1;x<=h-1;x++)
{
for(int y=0;y<m;y++)
{
if(s==z[x][y])
py++;
}
}
for(int x=0;x<n;x++)
{
for(int y=l-1;y<=l-1;y++)
{
if(s==z[x][y])
py++;
}
}
cout<<py-2;
return 0;
}