ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#198109 | #3457. 排序程序 | shiruiheng | 100 | 1680ms | 1236kb | C++11 | 1.8kb | 2023-11-19 15:15:51 | 2023-11-19 16:12:46 |
answer
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
ll n, m, t, u[1000], v[1000], a[21], b[21], c[21];
string ans[2] = {"NO", "YES"};
bool check() {
do {
for(int i = 1 ; i <= n ; i++) {
b[i] = a[i];
//cout << b[i] << " \n"[i == n];
}
for(int i = 1 ; i <= m ; i++) {
if(b[u[i]] > b[v[i]])
swap(b[u[i]], b[v[i]]);
}
for(int i = 1 ; i <= n ; i++)
if(b[i] != c[i]) {
return false;
}
} while(next_permutation(a + 1, a + 1 + n));
return true;
}
void init(int p = 0, int val = 0) {
random_shuffle(a + 1, a + 1 + n);
for(int i = 1 ; i <= n ; i++)
if(a[i] == val)
swap(a[i], a[p]);
}
bool check1() {
for(int i = 1 ; i <= n ; i++)
a[i] = i;
for(int i = 1 ; i <= n ; i++) {
for(int x = 1 ; x <= 200000 / m ; x++) {
init(i, n);
for(int i = 1 ; i <= m ; i++)
if(a[u[i]] > a[v[i]])
swap(a[u[i]], a[v[i]]);
for(int i = 1 ; i <= n ; i++)
if(a[i] != c[i])
return false;
}
}
for(int i = 1 ; i <= n ; i++) {
for(int x = 1 ; x <= 200000 / m ; x++) {
init(i, 1);
for(int i = 1 ; i <= m ; i++)
if(a[u[i]] > a[v[i]])
swap(a[u[i]], a[v[i]]);
for(int i = 1 ; i <= n ; i++)
if(a[i] != c[i])
return false;
}
}
for(int i = 1 ; i <= 15000000 / m ; i++) {
for(int i = 1 ; i <= m ; i++)
if(a[u[i]] > a[v[i]])
swap(a[u[i]], a[v[i]]);
for(int i = 1 ; i <= n ; i++)
if(a[i] != c[i])
return false;
}
return true;
}
signed main() {
scanf("%lld", &t);
while(t--) {
scanf("%lld%lld", &n, &m);
for(int i = 1 ; i <= m ; i++) {
scanf("%lld%lld", u + i, v + i);
}
for(int i = 1 ; i <= n ; i++)
c[i] = a[i] = i;
if(n <= 8) {
puts(ans[check()].data());
continue;
}
puts(ans[check1()].data());
}
exit(0);
}
详细
小提示:点击横条可展开更详细的信息
Test #1:
score: 10
Accepted
time: 0ms
memory: 1236kb
input:
10 3 1 2 3 3 3 1 2 1 3 2 3 3 3 1 2 1 3 2 3 3 1 2 3 3 3 1 3 1 2 2 3 4 6 3 4 2 4 1 4 2 3 1 2 1 3 4 6 1...
output:
NO YES YES NO YES NO YES NO YES YES
result:
ok 10 lines
Test #2:
score: 10
Accepted
time: 1ms
memory: 1232kb
input:
10 3 1 2 3 3 3 1 2 1 3 2 3 3 3 1 2 1 3 2 3 3 3 1 2 1 3 2 3 3 2 1 3 2 3 4 6 1 2 1 4 2 3 3 4 1 3 2 4 4...
output:
NO YES YES YES NO NO YES YES NO NO
result:
ok 10 lines
Test #3:
score: 10
Accepted
time: 32ms
memory: 1236kb
input:
10 4 6 1 2 1 4 2 3 3 4 1 3 2 4 8 28 1 8 5 7 1 7 1 5 2 4 4 6 1 6 5 8 1 3 1 4 7 8 2 3 2 8 2 6 4 8 3 6 ...
output:
NO NO YES YES YES NO YES NO YES NO
result:
ok 10 lines
Test #4:
score: 10
Accepted
time: 16ms
memory: 1232kb
input:
10 4 6 1 2 1 4 2 3 3 4 1 3 2 4 8 28 2 4 2 6 4 8 1 5 1 6 1 7 2 3 4 5 2 8 5 6 1 3 2 5 3 8 3 4 6 8 1 8 ...
output:
NO NO NO NO NO YES NO NO YES NO
result:
ok 10 lines
Test #5:
score: 10
Accepted
time: 42ms
memory: 1236kb
input:
10 4 6 1 2 1 4 2 3 3 4 1 3 2 4 8 28 1 2 3 5 2 7 1 5 4 6 2 3 1 8 2 4 1 6 6 7 1 3 1 7 4 7 2 8 7 8 5 6 ...
output:
NO NO YES YES YES YES YES NO YES YES
result:
ok 10 lines
Test #6:
score: 10
Accepted
time: 425ms
memory: 1236kb
input:
10 4 6 1 2 1 4 2 3 3 4 1 3 2 4 10 43 1 4 1 5 1 6 1 7 1 8 1 9 1 10 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 10 3...
output:
NO NO YES YES NO YES YES NO YES NO
result:
ok 10 lines
Test #7:
score: 10
Accepted
time: 439ms
memory: 1236kb
input:
10 4 6 1 2 1 4 2 3 3 4 1 3 2 4 10 43 1 4 1 5 1 6 1 7 1 8 1 9 1 10 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 10 3...
output:
NO NO YES YES YES YES NO NO NO YES
result:
ok 10 lines
Test #8:
score: 10
Accepted
time: 100ms
memory: 1232kb
input:
10 4 6 1 2 1 4 2 3 3 4 1 3 2 4 10 45 1 2 1 4 1 3 1 5 6 9 6 7 1 6 8 9 7 10 7 9 5 7 1 7 5 8 2 7 2 8 2 ...
output:
NO NO NO NO NO NO NO NO YES NO
result:
ok 10 lines
Test #9:
score: 10
Accepted
time: 270ms
memory: 1236kb
input:
10 4 6 1 2 1 4 2 3 3 4 1 3 2 4 10 45 2 9 1 3 1 4 1 5 1 6 1 7 1 8 7 10 1 10 2 6 8 9 2 5 6 9 8 10 6 7 ...
output:
NO NO YES YES NO NO NO NO YES NO
result:
ok 10 lines
Test #10:
score: 10
Accepted
time: 355ms
memory: 1236kb
input:
10 4 6 1 2 1 4 2 3 3 4 1 3 2 4 10 45 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 2 3 2 4 2 5 2 6 2 7 2 8 2 ...
output:
NO YES YES NO NO NO NO YES YES NO
result:
ok 10 lines
Extra Test:
score: 0
Extra Test Passed