Submission #2511623


Source Code Expand

#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
#define maxn 100005
typedef long long ll;
typedef long double ld;
typedef pair<int,int> pii;
#define mp make_pair
#define ff first
#define ss second

int n,m,tot;
int p[maxn],now[maxn],pre[maxn*2],son[maxn*2];

inline int read(){
	int x=0,f=1; char ch=getchar();
	for (;ch<'0'||ch>'9';ch=getchar()) if (ch=='-') f=-1;
	for (;ch>='0'&&ch<='9';ch=getchar()) x=x*10+ch-'0';
	return x*f;
}

void add(int a,int b){son[++tot]=b,pre[tot]=now[a],now[a]=tot;}
void link(int a,int b){add(a,b),add(b,a);}

int top,stack[maxn];
bool vis[maxn],app[maxn];

void dfs(int x){
	vis[x]=app[x]=1; stack[++top]=x;
	for (int p=now[x];p;p=pre[p])
		if (!vis[son[p]]) dfs(son[p]);
}

int main(){
	n=read(),m=read();
	for (int i=1;i<=n;i++) p[i]=read();
	for (int i=1,x,y;i<=m;i++) x=read(),y=read(),link(x,y);
	int ans=0;
	for (int i=1;i<=n;i++)
		if (!vis[i]){
			dfs(i);
			for (int j=1;j<=top;j++)
				ans+=app[p[stack[j]]];
			while (top) app[stack[top--]]=0;
		}
	cout<<ans<<endl;
	return 0;
}

Submission Info

Submission Time
Task D - Equals
User tick
Language C++14 (GCC 5.4.1)
Score 400
Code Size 1138 Byte
Status AC
Exec Time 22 ms
Memory 4224 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 4
AC × 23
Set Name Test Cases
Sample 0_000.txt, 0_001.txt, 0_002.txt, 0_003.txt
All 0_000.txt, 0_001.txt, 0_002.txt, 0_003.txt, 1_004.txt, 1_005.txt, 1_006.txt, 1_007.txt, 1_008.txt, 1_009.txt, 1_010.txt, 1_011.txt, 1_012.txt, 1_013.txt, 1_014.txt, 1_015.txt, 1_016.txt, 1_017.txt, 1_018.txt, 1_019.txt, 1_020.txt, 1_021.txt, 1_022.txt
Case Name Status Exec Time Memory
0_000.txt AC 1 ms 256 KiB
0_001.txt AC 1 ms 256 KiB
0_002.txt AC 1 ms 256 KiB
0_003.txt AC 1 ms 256 KiB
1_004.txt AC 11 ms 1792 KiB
1_005.txt AC 19 ms 2816 KiB
1_006.txt AC 22 ms 4224 KiB
1_007.txt AC 1 ms 256 KiB
1_008.txt AC 1 ms 256 KiB
1_009.txt AC 1 ms 256 KiB
1_010.txt AC 1 ms 256 KiB
1_011.txt AC 1 ms 256 KiB
1_012.txt AC 1 ms 256 KiB
1_013.txt AC 1 ms 256 KiB
1_014.txt AC 2 ms 384 KiB
1_015.txt AC 1 ms 256 KiB
1_016.txt AC 1 ms 256 KiB
1_017.txt AC 1 ms 256 KiB
1_018.txt AC 10 ms 1664 KiB
1_019.txt AC 6 ms 896 KiB
1_020.txt AC 7 ms 1152 KiB
1_021.txt AC 7 ms 1280 KiB
1_022.txt AC 22 ms 3456 KiB