QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#56840 | #3873. Towers | Wilson_Lee | Compile Error | / | / | C++ | 3.0kb | 2022-10-21 17:35:27 | 2022-10-21 17:35:32 |
Judging History
This is the latest submission verdict.
- [2023-08-10 23:21:45]
- System Update: QOJ starts to keep a history of the judgings of all the submissions.
- [2022-10-21 17:35:32]
- Judged
- Verdict: Compile Error
- Time: 0ms
- Memory: 0kb
- [2022-10-21 17:35:27]
- Submitted
answer
#include<bits/stdc++.h>
using namespace std;
typedef pair<int,int> pa;
const int MAXN=1e6+5;
struct node
{
int x,y;
}p[MAXN];
vector<pa>X[MAXN],Y[MAXN];
int numx[MAXN],numy[MAXN],ans[MAXN];
int n,lenx,leny;
void rush1()
{
for(int i=leny;i>=1;--i)
{
if(Y[i].size()<=2)
{
for(auto j:Y[i]) ans[j.second]=1;
continue;
}
sort(Y[i].begin(),Y[i].end());
Y[i].erase(unique(Y[i].begin(),Y[i].end()),Y[i].end());
int si=Y[i].size();
ans[Y[i][0].second]=ans[Y[i][si-1].second]=1;
vector<pa>tmp;
tmp.emplace_back(Y[i][0]);
if(si>=2) tmp.emplace_back(Y[i][si-1]);
for(int j=1;j<si-1;++j)
{
ans[Y[i][j].second]=0;
pa now={i,Y[i][j].second};
int pos=lower_bound(X[Y[i][j].first].begin(),X[Y[i][j].first].end(),now)-X[Y[i][j].first].begin()-1;
if(pos>0) Y[X[Y[i][j].first][pos].first].emplace_back({Y[i][j].first,X[Y[i][j].first][pos].second});
else tmp.emplace_back(Y[i][j]);
}
Y[i]=tmp;
}
}
void rush2(bool flag)
{
for(int i=1;i<=leny;++i)
{
if(Y[i].size()<=2)
{
for(auto j:Y[i]) ans[j.second]=1;
continue;
}
sort(Y[i].begin(),Y[i].end());
Y[i].erase(unique(Y[i].begin(),Y[i].end()),Y[i].end());
int si=Y[i].size();
ans[Y[i][0].second]=ans[Y[i][si-1].second]=1;
vector<pa>tmp;
if(flag) tmp.emplace_back(Y[i][0]),tmp.emplace_back(Y[i][si-1]);
for(int j=1;j<si-1;++j)
{
ans[Y[i][j].second]=0;
pa now={i,Y[i][j].second};
int pos=upper_bound(X[Y[i][j].first].begin(),X[Y[i][j].first].end(),now)-X[Y[i][j].first].begin();
if(pos<X[Y[i][j].first].size()-1) Y[X[Y[i][j].first][pos].first].emplace_back({Y[i][j].first,X[Y[i][j].first][pos].second});
else if(flag) tmp.emplace_back(Y[i][j]);
}
if(flag) Y[i]=tmp;
}
}
int main()
{
//freopen("tower4.in","r",stdin);
//freopen("tower.out","w",stdout);
cin>>n;
for(int i=1;i<=n;++i) scanf("%d %d",&p[i].x,&p[i].y),numx[i]=p[i].x,numy[i]=p[i].y;
sort(numx+1,numx+n+1),sort(numy+1,numy+n+1);
lenx=unique(numx+1,numx+n+1)-numx-1,leny=unique(numy+1,numy+n+1)-numy-1;
for(int i=1;i<=n;++i)
{
p[i].x=lower_bound(numx+1,numx+lenx+1,p[i].x)-numx;
p[i].y=lower_bound(numy+1,numy+leny+1,p[i].y)-numy;
}
for(int i=1;i<=n;++i) X[p[i].x].emplace_back({p[i].y,i});
for(int i=1;i<=lenx;++i)
{
sort(X[i].begin(),X[i].end());
int si=X[i].size();
Y[X[i][0].first].emplace_back({i,X[i][0].second});
if(si>=2) Y[X[i][si-1].first].emplace_back({i,X[i][si-1].second});
}
rush1(),rush2(1);
rush1(),rush2(1);
rush1(),rush2(1);
rush1(),rush2(0);
for(int i=1;i<=n;++i) printf("%d",ans[i]);
return 0;
}
詳細信息
answer.code: In function ‘void rush1()’: answer.code:34:66: error: no matching function for call to ‘std::vector<std::pair<int, int> >::emplace_back(<brace-enclosed initializer list>)’ 34 | if(pos>0) Y[X[Y[i][j].first][pos].first].emplace_back({Y[i][j].first,X[Y[i][j].first][pos].second}); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/11/vector:72, from /usr/include/c++/11/functional:62, from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/11/algorithm:74, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from answer.code:1: /usr/include/c++/11/bits/vector.tcc:109:7: note: candidate: ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {}; _Tp = std::pair<int, int>; _Alloc = std::allocator<std::pair<int, int> >; std::vector<_Tp, _Alloc>::reference = std::pair<int, int>&]’ 109 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/include/c++/11/bits/vector.tcc:109:7: note: candidate expects 0 arguments, 1 provided answer.code: In function ‘void rush2(bool)’: answer.code:60:90: error: no matching function for call to ‘std::vector<std::pair<int, int> >::emplace_back(<brace-enclosed initializer list>)’ 60 | if(pos<X[Y[i][j].first].size()-1) Y[X[Y[i][j].first][pos].first].emplace_back({Y[i][j].first,X[Y[i][j].first][pos].second}); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/11/vector:72, from /usr/include/c++/11/functional:62, from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/11/algorithm:74, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from answer.code:1: /usr/include/c++/11/bits/vector.tcc:109:7: note: candidate: ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {}; _Tp = std::pair<int, int>; _Alloc = std::allocator<std::pair<int, int> >; std::vector<_Tp, _Alloc>::reference = std::pair<int, int>&]’ 109 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/include/c++/11/bits/vector.tcc:109:7: note: candidate expects 0 arguments, 1 provided answer.code: In function ‘int main()’: answer.code:79:49: error: no matching function for call to ‘std::vector<std::pair<int, int> >::emplace_back(<brace-enclosed initializer list>)’ 79 | for(int i=1;i<=n;++i) X[p[i].x].emplace_back({p[i].y,i}); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ In file included from /usr/include/c++/11/vector:72, from /usr/include/c++/11/functional:62, from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/11/algorithm:74, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from answer.code:1: /usr/include/c++/11/bits/vector.tcc:109:7: note: candidate: ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {}; _Tp = std::pair<int, int>; _Alloc = std::allocator<std::pair<int, int> >; std::vector<_Tp, _Alloc>::reference = std::pair<int, int>&]’ 109 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/include/c++/11/bits/vector.tcc:109:7: note: candidate expects 0 arguments, 1 provided answer.code:84:38: error: no matching function for call to ‘std::vector<std::pair<int, int> >::emplace_back(<brace-enclosed initializer list>)’ 84 | Y[X[i][0].first].emplace_back({i,X[i][0].second}); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/11/vector:72, from /usr/include/c++/11/functional:62, from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/11/algorithm:74, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from answer.code:1: /usr/include/c++/11/bits/vector.tcc:109:7: note: candidate: ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {}; _Tp = std::pair<int, int>; _Alloc = std::allocator<std::pair<int, int> >; std::vector<_Tp, _Alloc>::reference = std::pair<int, int>&]’ 109 | vector<_Tp, _Alloc>:: | ^~~~~~~~~~~~~~~~~~~ /usr/include/c++/11/bits/vector.tcc:109:7: note: candidate expects 0 arguments, 1 provided answer.code:85:51: error: no matching function for call to ‘std::vector<std::pair<int, int> >::emplace_back(<brace-enclosed initializer list>)’ 85 | if(si>=2) Y[X[i][si-1].first].emplace_back({i,X[i][si-1].second})...