# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
35000 |
2017-11-17T09:19:04 Z |
nad312 |
스파이 (JOI13_spy) |
C++11 |
|
2000 ms |
247716 KB |
#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][7820]={}, y[2009][7820]={};
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);
}
}
lli Count(lli m)
{
lli n=0;
for(int i=0;;i++)
{
if(((lli)1<<i)>m)
{
return n;
}
if((m>>i)&1==1)
{
n++;
}
}
}
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+Count(c);
}
cout<<d<<'\n';
}
}
int main()
{
//freopen("test.inp","r",stdin);
Inp();
Solve();
}
Compilation message
spy.cpp: In function 'lli Count(lli)':
spy.cpp:66:12: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses]
if((m>>i)&1==1)
^
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Execution timed out |
2000 ms |
247584 KB |
Execution timed out |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Execution timed out |
2000 ms |
247716 KB |
Execution timed out |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Execution timed out |
2000 ms |
247716 KB |
Execution timed out |
2 |
Halted |
0 ms |
0 KB |
- |