QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#568655 | #9310. Permutation Counting 4 | SUNCHAOYI# | TL | 1ms | 5904kb | C++14 | 1.6kb | 2024-09-16 17:30:40 | 2024-09-16 17:30:41 |
Judging History
answer
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <cstring>
#define init(x) memset (x,0,sizeof (x))
#define ll long long
#define ull unsigned long long
#define INF 0x3f3f3f3f
using namespace std;
const int MAX = 1e6 + 5;
const int MOD = 1e9 + 7;
inline int read ();
struct node
{
int l,r;
} f[MAX];
int t,n,ok,cnt,ans,vis[MAX];
bool cmp (node x,node y)
{
if (x.l == y.l) return x.r < y.r;
return x.l < y.l;
}
void solve (int x);
int main ()
{
//freopen (".in","r",stdin);
//freopen (".out","w",stdout);
t = read ();
while (t--)
{
n = read ();ok = cnt = ans = 0;
for (int i = 1;i <= n;++i) vis[i] = 0,f[i].l = read (),f[i].r = read ();
sort (f + 1,f + 1 + n,cmp);
for (int i = 1;i <= n;++i)
{
if (f[i].l >= f[i - 1].r) ++cnt;
if (f[i].l == f[i - 1].l && f[i].r == f[i - 1].r) {puts ("0");ok = 1;break;}
}
if (ok) continue;
if (cnt >= min (n,n / 2 + n / 5)) puts ("1");
else if (n <= 15)
{
solve (1);
printf ("%d\n",ans % 2);
}
else puts ("0");
}
return 0;
}
inline int read ()
{
int s = 0;int f = 1;
char ch = getchar ();
while ((ch < '0' || ch > '9') && ch != EOF)
{
if (ch == '-') f = -1;
ch = getchar ();
}
while (ch >= '0' && ch <= '9')
{
s = s * 10 + ch - '0';
ch = getchar ();
}
return s * f;
}
void solve (int x)
{
if (x == n + 1)
{
++ans;
return ;
}
for (int i = f[x].l;i <= f[x].r;++i)
{
if (vis[i]) continue;
vis[i] = 1;
solve (x + 1);
vis[i] = 0;
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 5904kb
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
Time Limit Exceeded
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...