Submission #1069311
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
const int N = 2e5+10;
int fa1[N],fa2[N];
int findroot1(int u)
{
return fa1[u]==u?u:fa1[u]=findroot1(fa1[u]);
}
int findroot2(int u)
{
return fa2[u]==u?u:fa2[u]=findroot2(fa2[u]);
}
set<int>s1[N];
set<int>s2[N];
int ans[N];
bool vis[N];
int main()
{
int n,k,l;
int u,v;
// freopen("in.txt","r",stdin);
memset(vis,false,sizeof(vis));
scanf("%d%d%d",&n,&k,&l);
for(int i=1;i<=n;i++) fa1[i]=fa2[i]=i;
for(int i=1;i<=k;i++)
{
scanf("%d%d",&u,&v);
int uu=findroot1(u);
int vv=findroot1(v);
if(uu==vv) continue;
else fa1[vv]=uu;
}
for(int i=1;i<=l;i++)
{
scanf("%d%d",&u,&v);
int uu=findroot2(u);
int vv=findroot2(v);
if(uu==vv) continue;
else fa2[vv]=uu;
}
for(int i=1;i<=n;i++)
{
u=findroot1(i);
v=findroot2(i);
s1[u].insert(i);
s2[v].insert(i);
}
for(int i=1;i<=n;i++)
{
if(vis[i]) continue;
u=findroot1(i);
v=findroot2(i);
if(!s1[u].empty()&&!s2[v].empty())
{
vector<int>a;
for(auto it:s2[v])
{
if(findroot1(it)==u) a.push_back(it);
}
int sz=a.size();
for(auto it:a)
{
ans[it]=sz;
vis[it]=true;
s1[u].erase(it);
s2[v].erase(it);
}
}
}
for(int i=1;i<=n;i++)
{
printf("%d",ans[i]);
if(i!=n) printf(" ");
else printf("\n");
}
return 0;
}
Submission Info
Submission Time |
|
Task |
D - Connectivity |
User |
vjudge1 |
Language |
C++14 (GCC 5.4.1) |
Score |
0 |
Code Size |
1635 Byte |
Status |
TLE |
Exec Time |
2106 ms |
Memory |
40192 KB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:24:29: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d%d",&n,&k,&l);
^
./Main.cpp:28:28: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d",&u,&v);
^
./Main.cpp:36:28: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d",&u,&v);
^
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
0 / 400 |
Status |
|
|
Set Name |
Test Cases |
Sample |
subtask0_0.txt, subtask0_1.txt, subtask0_2.txt |
All |
subtask0_0.txt, subtask0_1.txt, subtask0_2.txt, subtask1_0.txt, subtask1_1.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_2.txt, subtask1_3.txt, subtask1_4.txt, subtask1_5.txt, subtask1_6.txt, subtask1_7.txt, subtask1_8.txt, subtask1_9.txt |
Case Name |
Status |
Exec Time |
Memory |
subtask0_0.txt |
AC |
24 ms |
19200 KB |
subtask0_1.txt |
AC |
24 ms |
19200 KB |
subtask0_2.txt |
AC |
24 ms |
19200 KB |
subtask1_0.txt |
AC |
53 ms |
19456 KB |
subtask1_1.txt |
AC |
139 ms |
39936 KB |
subtask1_10.txt |
AC |
54 ms |
19456 KB |
subtask1_11.txt |
AC |
124 ms |
37504 KB |
subtask1_12.txt |
TLE |
2106 ms |
38400 KB |
subtask1_13.txt |
TLE |
2106 ms |
39680 KB |
subtask1_14.txt |
AC |
138 ms |
35840 KB |
subtask1_2.txt |
TLE |
2105 ms |
34432 KB |
subtask1_3.txt |
TLE |
2106 ms |
39808 KB |
subtask1_4.txt |
AC |
139 ms |
36608 KB |
subtask1_5.txt |
AC |
56 ms |
19456 KB |
subtask1_6.txt |
AC |
118 ms |
36480 KB |
subtask1_7.txt |
TLE |
2106 ms |
39808 KB |
subtask1_8.txt |
TLE |
2106 ms |
40192 KB |
subtask1_9.txt |
AC |
128 ms |
33152 KB |