제출 #1277742

#제출 시각아이디문제언어결과실행 시간메모리
1277742LmaoLmaoBitaro’s Party (JOI18_bitaro)C++20
컴파일 에러
0 ms0 KiB
#include<bits/stdc++.h> #define fi first #define se second using namespace std; using ll = long long; using ii = pair<int,int>; using aa = array<int,3>; const int B=300; vector<int> a[100005],adj[100005]; vector<ii> ans[100005]; int mp[100005]; int d[100005]; signed main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n,m,q; cin >> n >> m >> q; for(int i=1;i<=m;i++) { int u,v; cin >> u >> v; adj[v].push_back(u); } for(int i=1;i<=n;i++) { ans[i].push_back({0,i}); for(int v:adj[i]) { vector<ii> mer; int j=0; for(ii x:ans[i]) { while(j<ans[v].size() && {ans[v][j].fi+1,ans[v][j].se}>=x) { mer.push_back({ans[v][j].fi+1,ans[v][j].se}); j++; } mer.push_back(x); } mer.erase(unique(mer.begin(),mer.end()),mer.end()); while(mer.size()>B) mer.pop_back(); ans[i]=mer; } //cout << i << endl; for(ii x:ans[i]) { //cout << x.fi << ' ' << x.se << endl; } } while(q--) { int u,k; cin >> u >> k; vector<int> sigma; for(int i=1;i<=k;i++) { int x; cin >> x; sigma.push_back(x); mp[x]=1; } if(k<B) { bool t=1; for(ii x:ans[u]) { if(!mp[x.se]) { cout << x.fi << '\n'; t=0; break; } } if(t) { cout << "-1\n"; } } else { for(int i=1;i<=u;i++) { if(mp[i]) d[i]=-1e9; } for(int i=1;i<=u;i++) { for(int v:adj[i]) { d[i]=max(d[i],d[v]+1); } } if(d[u]<0) cout << "-1\n"; else cout << d[u] << '\n'; for(int i=1;i<=u;i++) { d[i]=0; } } for(int x:sigma) { mp[x]=0; } } return 0; }

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

bitaro.cpp: In function 'int main()':
bitaro.cpp:33:36: error: expected primary-expression before '{' token
   33 |           while(j<ans[v].size() && {ans[v][j].fi+1,ans[v][j].se}>=x) {
      |                                    ^
bitaro.cpp:33:35: error: expected ')' before '{' token
   33 |           while(j<ans[v].size() && {ans[v][j].fi+1,ans[v][j].se}>=x) {
      |                ~                  ^~
      |                                   )
bitaro.cpp:33:64: error: expected ';' before '}' token
   33 |           while(j<ans[v].size() && {ans[v][j].fi+1,ans[v][j].se}>=x) {
      |                                                                ^
bitaro.cpp:33:65: error: expected primary-expression before '>=' token
   33 |           while(j<ans[v].size() && {ans[v][j].fi+1,ans[v][j].se}>=x) {
      |                                                                 ^~