제출 #798969

#제출 시각아이디문제언어결과실행 시간메모리
798969vjudge1Port Facility (JOI17_port_facility)C++17
0 / 100
1 ms340 KiB
#include<bits/stdc++.h> using namespace std; using ll = long long; const int N = 2e3 + 10; const int MOD = 1e9 + 7; int n; vector<int> g[N]; pair<int, int> bounds[N]; int cl[N]; bool flag = 0; void dfs(int s, int p = -1) { cl[s] = ((p == -1 || cl[p] == 2) ? 1 : 2); for(int to : g[s]) { if(!cl[to]) dfs(to, s); flag |= (cl[to] == cl[s]); } } int main() { ios::sync_with_stdio(0); cin.tie(0);cout.tie(0); cin >> n; for(int i = 0; i < n; i++) cin >> bounds[i].first >> bounds[i].second; for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) { if(bounds[i].first < bounds[j].first & bounds[j].first < bounds[i].second && bounds[i].second < bounds[j].second) g[i].push_back(j); if(bounds[i].first > bounds[j].first & bounds[j].first > bounds[i].second && bounds[i].second > bounds[j].second) g[i].push_back(j); } } int ans = 1; for(int i = 0; i < n; i++) { if(cl[i]) continue; dfs(i); ans = (ans * 2) % MOD; } if(flag) ans = 0; cout << ans; }

컴파일 시 표준 에러 (stderr) 메시지

port_facility.cpp: In function 'int main()':
port_facility.cpp:31:32: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses]
   31 |             if(bounds[i].first < bounds[j].first & bounds[j].first < bounds[i].second && bounds[i].second < bounds[j].second)
      |                ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
port_facility.cpp:33:32: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses]
   33 |             if(bounds[i].first > bounds[j].first & bounds[j].first > bounds[i].second && bounds[i].second > bounds[j].second)
      |                ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...