Submission #1179872

#TimeUsernameProblemLanguageResultExecution timeMemory
1179872simona1230IOI Fever (JOI21_fever)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; struct point { long long x,y; point(){} point(long long _x,long long _y) { x=_x; y=_y; } }; long long n; point p[200001]; void read() { cin>>n; for(long long i=1;i<=n;i++) cin>>p[i].x>>p[i].y; } vector<pair<long long,long long> > v[401]; long long num(long long pt,long long d) { if(d==1&&p[pt].y>p[1].y)return -1; if(d==2&&p[pt].x>p[1].x)return -1; if(d==3&&p[pt].y<p[1].y)return -1; if(d==4&&p[pt].x<p[1].x)return -1; return (d-1)*n+pt; } void ae(long long x,long long y,long long z) { if(x==-1||y==-1)return; v[x].push_back({y,z}); v[y].push_back({x,z}); } void build() { for(long long i=1;i<=n;i++) { for(long long j=1;j<=n;j++) { if(i==j||p[i].x>p[j].x)continue; point a=p[i],b=p[j]; long long z=abs(a.x-b.x); if(b.x-a.x==b.y-a.y) { long long x=num(i,2),y=num(j,3); //cout<<i<<" "<<j<<" "<<x<<" "<<y<<endl; ae(x,y,z); x=num(i,1),y=num(j,4); //cout<<i<<" "<<j<<" "<<x<<" "<<y<<endl; ae(x,y,z); } if(b.x-a.x==a.y-b.y) { long long x=num(i,3),y=num(j,4); //cout<<i<<" "<<j<<" "<<x<<" "<<y<<endl; ae(x,y,z); x=num(i,2),y=num(j,1); //cout<<i<<" "<<j<<" "<<x<<" "<<y<<endl; ae(x,y,z); } } } } long long cnt=0,in[401],used[401]; void bfs(long long s) { priority_queue<pair<long long,long long> > q; q.push({0,s}); used[s]=0; cnt=1; while(q.size()) { pair<long long,long long> t=q.top(); //cout<<t.second<<" "<<t.first<<endl; q.pop(); for(long long i=0;i<v[t.second].size();i++) { pair<long long,long long> nb=v[t.second][i]; if(used[nb.first]>nb.second&&nb.second>=t.first&&in[nb.first]) { if(used[nb.first]==1e9+1)cnt++; used[nb.first]=nb.second; q.push({nb.second,nb.first}); } } } //cout<<cnt<<" !!"<<endl; } long long f,ans; void rec(long long i) { if(i==n+1) { cnt=0; for(long long j=1;j<=4*n;j++) used[j]=1e9+1; bfs(f); ans=max(ans,cnt); return; } for(long long d=1;d<=4;d++) { if(num(i,d)==-1)continue; if(i==1)f=num(1,d); in[num(i,d)]=1; rec(i+1); in[num(i,d)]=0; } } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); read(); if(p[1]=={0,0}) { for(int i=2;i<=n;i++) if(p[i].x==p[i].y)ans++; cout<<ans<<endl; return 0; } build(); rec(1); cout<<ans<<endl; return 0; } /* 3 0 0 3 3 -1 7 */

Compilation message (stderr)

fever.cpp: In function 'int main()':
fever.cpp:135:18: error: expected primary-expression before '{' token
  135 |         if(p[1]=={0,0})
      |                  ^
fever.cpp:135:18: error: expected ')' before '{' token
  135 |         if(p[1]=={0,0})
      |           ~      ^
      |                  )