This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 10;
bool used[MAXN];
int cntrs[MAXN];
int graph[MAXN][MAXN];
bool ans = false;
bool is_checking(int l, int r, int street)
{
return (street <= r && street >= l);
}
void dfs(int v, int p, int counter, int n, int l, int r)
{
used[v] = true;
cntrs[v] = counter;
for(int i = 0; i < MAXN; i++)
{
if(i==v) continue;
if(i==p) continue;
int street = graph[v][i];
if(street == 0) continue;
if(is_checking(l, r, street)) continue;
if(used[i])
{
int distance = abs(counter - cntrs[i])+1;
if(distance % 2 != 0) ans = true;
}
else dfs(i, v, counter+1, n, l, r);
}
}
int main() {
int n, m, q;
cin >> n >> m >> q;
int v, u;
for(int i = 1; i <= m; i++)
{
cin >> v >> u;
graph[v][u] = i;
graph[u][v] = i;
}
for(int i = 0; i < q; i++)
{
int l, r;
cin >> l >> r;
memset(used, 0, MAXN);
memset(cntrs, 0, MAXN);
dfs(v, -1, 1, n, l, r);
if(ans)
cout << "YES" << endl;
else cout << "NO" << endl;
ans = false;
}
}
Compilation message (stderr)
Joker.cpp: In function 'int main()':
Joker.cpp:52:30: warning: 'memset' used with length equal to number of elements without multiplication by element size [-Wmemset-elt-size]
52 | memset(cntrs, 0, MAXN);
| ^
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |