#include<bits/stdc++.h>
using namespace std;
typedef int lli;
lli a, b, c, d, e, f, g, h, chia=64;
long long int x[2009][10009]={}, y[2009][10009]={};
vector<lli> Dx[2009], Dy[2009];
lli next()
{
register char ch=getchar();
lli l=0;
while(ch<'0'||ch>'9')
{
ch=getchar();
}
while(ch>='0'&&ch<='9')
{
l=l*10+ch-'0';
ch=getchar();
}
return l;
}
void DSFx(lli u, lli k)
{
x[u][k/chia]=x[u][k/chia]|((long long int)1<<(k%chia));
for(auto v: Dx[u])
{
DSFx(v, k);
}
}
void DSFy(lli u, lli k)
{
y[u][k/chia]=y[u][k/chia]|((long long int)1<<(k%chia));
for(auto v: Dy[u])
{
DSFy(v, k);
}
}
void Inp()
{
a=next();
b=next();
for(int i=1;i<=a;i++)
{
c=next();
d=next();
Dx[c].push_back(i);
Dy[d].push_back(i);
}
for(int i=1;i<=b;i++)
{
c=next();
d=next();
DSFx(c, i);
DSFy(d, i);
}
}
void Solve()
{
h=b/chia;
for(int i=1;i<=a;i++)
{
d=0;
for(int j=0;j<=h;j++)
{
c=(x[i][j]&y[i][j]);
d=d+__builtin_popcount(c);
}
cout<<d<<'\n';
}
}
int main()
{
//freopen("test.inp","r",stdin);
Inp();
Solve();
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
0 ms |
1840 KB |
Execution killed with signal 11 (could be triggered by violating memory limits) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
0 ms |
1840 KB |
Execution killed with signal 11 (could be triggered by violating memory limits) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
0 ms |
1840 KB |
Execution killed with signal 11 (could be triggered by violating memory limits) |
2 |
Halted |
0 ms |
0 KB |
- |