rt,可以提交了。
但是会出现神秘 UKE。
代码扔这:
#include <bits/stdc++.h>
#include "testlib.h"
using namespace std;
int x[1000005],y[1000005],minx[1000005],maxx[1000005],miny[1000005],maxy[1000005];
map<int,int> mp_x,mp_y;
int main(int argc,char** argv) {
registerTestlibCmd(argc,argv);
memset(minx,0x3f,sizeof minx); memset(miny,0x3f,sizeof miny);
int n = inf.readInt();
for(int i = 1;i <= n;i++) {
x[i] = inf.readInt(); y[i] = inf.readInt();
} string s = ouf.readToken();
for(int i = 0;i < n;i++) {
if(s[i] == '1') {
i++;
mp_x[x[i]]++; mp_y[y[i]]++;
if(mp_x[x[i]] > 2 || mp_y[y[i]] > 2) quitf(_wa, "Invalid Answer. Not Meeting The First Or The Second Conditions.");
minx[x[i]] = min(minx[x[i]],y[i]); maxx[x[i]] = max(maxx[x[i]],y[i]); miny[y[i]] = min(miny[y[i]],x[i]); maxy[y[i]] = max(maxy[y[i]],x[i]);
i--;
}
}
for(int i = 1;i <= n;i++) {
if(s[i-1] == '1') continue;
if(minx[x[i]] <= y[i] && y[i] <= maxx[x[i]]) continue;
if(miny[y[i]] <= x[i] && x[i] <= maxy[y[i]]) continue;
quitf(_wa, "Invalid Answer. Not Meeting The Third Conditions. %d %d %d",i,minx[x[i]],maxx[x[i]]);
} quitf(_ok,"Accepted! Orz!");
return 0;
}