제출 #564455

#제출 시각아이디문제언어결과실행 시간메모리
564455DodoBuilding Skyscrapers (CEOI19_skyscrapers)C++14
0 / 100
82 ms7580 KiB
#include <bits/stdc++.h>
#define ll long long
#define endl '\n'
#define pb push_back
using namespace std;

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    ll n,t;
    cin>>n>>t;
    vector<pair<pair<ll,ll>,ll>>v;
    map<pair<ll,ll>,ll>mp;
    for(int i=0;i<n;i++)
    {
      ll x,y;
      cin>>x>>y;
      mp[{x,y}]=1;
      v.push_back({{x,y},i+1});
    }
    bool m=true;
    ll x[8]={1,1,1,-1,-1,-1,0,0},y[8]={1,-1,0,1,-1,0,1,-1};
    ll lmt=1e9;
    for(int i=0;i<n;i++)
    {
      ll f=v[i].first.first,s=v[i].first.second;
      bool av=0;
      for(int j=0;j<8;j++)
      {
        if(f+y[j]>lmt||s+x[j]>lmt)continue;
        if(mp[{f+y[j],s+x[j]}]==1)
        {
          av=1;
          break;
        }
      }
      if(!av)
      {
        m=0;
        break;
      }
    }
    if(m)
    {
      sort(v.begin(),v.end());
      cout<<"YES"<<endl;
      for(int i=0;i<n;i++)cout<<v[i].second<<endl;
    }
    else cout<<"NO"<<endl;
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...