130个点就WA了一个,上AT看了一眼还是WA在“02-SmallRandom-003”,即小的随机数据
代码如下
#include<iostream>
#include<vector>
#include<map>
using namespace std;
int n,m,k,hang[300005],lie[300005],Max_h,Max_l;
vector<int>h;
vector<int>l;
map<pair<int,int>,bool>mp;
int main()
{
scanf("%d%d%d",&n,&m,&k);
for(int i=1;i<=k;i++)
{
int x,y;
scanf("%d%d",&x,&y);
hang[x]++;
lie[y]++;
mp[{x,y}]=true;
mp[{y,x}]=true;
}
for(int i=1;i<=n;i++)
{
if(Max_h<hang[i])
{
Max_h=hang[i];
h.clear();
h.push_back(i);
}
else if(Max_h==hang[i])
{
h.push_back(i);
}
}
for(int i=1;i<=m;i++)
{
if(Max_l<lie[i])
{
Max_l=lie[i];
l.clear();
l.push_back(i);
}
else if(Max_l==lie[i])
{
l.push_back(i);
}
}
for(int x:h)
{
for(int y:l)
{
if(mp.find({x,y})==mp.end())
{
printf("%d",Max_l+Max_h);
return 0;
}
}
}
printf("%d",Max_l+Max_h-1);
return 0;
}