QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#568720#9310. Permutation Counting 4La5te2WA 0ms3588kbC++20806b2024-09-16 17:54:062024-09-16 17:54:06

Judging History

你现在查看的是最新测评结果

  • [2024-09-18 14:56:40]
  • hack成功,自动添加数据
  • (/hack/835)
  • [2024-09-18 14:41:06]
  • hack成功,自动添加数据
  • (/hack/831)
  • [2024-09-17 12:14:52]
  • hack成功,自动添加数据
  • (/hack/825)
  • [2024-09-16 17:54:06]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3588kb
  • [2024-09-16 17:54:06]
  • 提交

answer

#include<bits/stdc++.h>
//using namespace std;
using std::cin;
using std::cout;
void solve() {
	int n;
	cin >> n;
	std::vector<int> fa(n + 1);
	std::iota(fa.begin(), fa.end(), 0);
	auto find = [&](auto find, int x) -> int {
		return fa[x] == x ? x : fa[x] = find(find, fa[x]);
	};
	int ok = 1;
	for(int i = 1; i <= n; i++) {
		int l, r;
		cin >> l >> r;
		if(find(find, l) == find(find, r)) {
			ok = 0;
			continue;
		}
		fa[find(find, l)] = find(find, r);
	}
	int cnt = 0;
	for(int i = 0; i <= n; i++) cnt += (find(find, i) == i);
	if(!ok || cnt != 1) return cout << 0 << '\n', void();
	else return cout << 1 << '\n', void();
}
int main() 
{
	std::ios::sync_with_stdio(0);
	cin.tie(nullptr);
	cout.tie(nullptr);
	int t = 1;
	cin >> t;
	while(t--) solve();
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 0
Wrong Answer
time: 0ms
memory: 3588kb

input:

4
5
1 2
1 5
1 2
1 2
2 2
5
1 1
2 4
2 3
5 5
3 4
5
3 5
1 2
3 4
3 5
3 3
5
1 5
1 4
4 5
5 5
1 2

output:

0
0
0
0

result:

wrong answer 2nd words differ - expected: '1', found: '0'