QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#566017 | #9310. Permutation Counting 4 | Yzm007# | WA | 195ms | 3968kb | C++14 | 1.6kb | 2024-09-15 22:53:42 | 2024-09-15 22:53:43 |
Judging History
answer
#include <bits/stdc++.h>
#include<iostream>
#include<cstdio>
#include<vector>
#include<map>
#include<set>
#include<array>
using namespace std;
#define rep(i,a,b) for(int i=(a);i<=(b);++i)
#define per(i,a,b) for(int i=(a);i>=(b);--i)
typedef long long ll;
typedef double db;
typedef pair<int,int> P;
#define fi first
#define se second
#define pb push_back
#define dbg(x) cerr<<(#x)<<":"<<x<<" ";
#define dbg2(x) cerr<<(#x)<<":"<<x<<endl;
#define SZ(a) (int)(a.size())
#define sci(a) scanf("%d",&(a))
#define pt(a) printf("%d",a);
#define pte(a) printf("%d\n",a)
#define ptlle(a) printf("%lld\n",a)
#define debug(...) fprintf(stderr, __VA_ARGS__)
using namespace std;
const int N=2e3+10;
int t,n,u,v,par[N],sz[N],sum[N];
map<P,int>mp;
int find(int x){
return par[x]==x?x:par[x]=find(par[x]);
}
void mer(int u,int v){
u=find(u),v=find(v);
if(u==v)return;
par[v]=u;
sz[u]+=sz[v];
}
int main(){
sci(t);
while(t--){
sci(n);
rep(i,1,n)par[i]=i,sz[i]=1,sum[i]=0;
mp.clear();
bool ok=1;
rep(i,1,n){
sci(u),sci(v);
mp[P(u,v)]++;
if(mp[P(u,v)]>=2)ok=0;
sum[u]++;
sum[v+1]--;
mer(u,v);
}
rep(i,1,n){
sum[i]+=sum[i-1];
if(!sum[i]){
ok=0;
break;
}
}
if(!ok){
puts("0");
continue;
}
int ans=1;
rep(i,1,n){
int f=find(i);
if(f==i)ans*=sz[i];
ans%=2;
}
pte(ans);
}
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 3780kb
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 1 0 0
result:
ok 4 tokens
Test #2:
score: -100
Wrong Answer
time: 195ms
memory: 3968kb
input:
66725 14 7 7 4 6 7 8 8 13 2 13 6 13 6 10 14 14 1 10 9 11 7 9 3 8 4 12 5 12 12 2 6 3 6 7 11 2 5 1 1 6 12 8 12 2 3 7 9 7 8 1 10 1 4 10 4 8 4 4 6 10 9 10 2 3 2 7 1 3 3 4 2 2 3 10 20 3 12 10 14 19 20 19 20 1 9 7 9 13 16 17 17 16 18 2 11 5 19 6 17 11 17 3 6 3 11 7 20 8 17 3 18 10 15 9 20 16 5 10 2 10 2 1...
output:
1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 ...
result:
wrong answer 3rd words differ - expected: '0', found: '1'