이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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;
}
}
컴파일 시 표준 에러 (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... |