提出 #558424
ソースコード 拡げる
#include <iostream>
#include <cstdio>
#include <string>
#include <map>
#include <set>
#include <vector>
#include <cstring>
#include <algorithm>
using namespace std;
typedef long long ll;
typedef pair<int,int> P;
#define rep(i,n) for(int i=0;i<(int)(n);i++)
#define all(c) (c).begin(),(c).end()
inline void fast_erase(vector<P> &vec,P p) {
auto it=lower_bound(all(vec),p);
//cout<<p.first<<", "<<p.second<<endl;
//cout<<it->first<<", "<<it->second<<endl;
vec.erase(it);
}
int n;
ll cnt(P p,map<P,char> vec, vector<P> xs,vector<P> rxs, vector<P> ys,vector<P> rys) {
ll ret=1;
while(1) {
int x=p.first;
int y=p.second;
char c=vec[p];
vec.erase(p);
//if(ret==8) break;
//printf("[debug] %d %d %c\n",x,y,c);
if(c=='>') {
auto it=upper_bound(all(ys),P(y,x));
if(it==ys.end()) break;
p.first=it->second;
if(it->first!=p.second) break;
p.second=it->first;
}
if(c=='<') {
auto it=upper_bound(all(rys),P(y,-x));
if(it==rys.end()) break;
p.first=-it->second;
if(it->first!=p.second) break;
p.second=it->first;
}
if(c=='v') {
auto it=upper_bound(all(xs),P(x,y));
if(it==xs.end()) break;
if(it->first!=p.first) break;
p=*it;
}
if(c=='^') {
auto it=upper_bound(all(rxs),P(x,-y));
if(it==rxs.end()) break;
if(it->first!=p.first) break;
p=*it;
p.second*=-1;
}
fast_erase(xs,P(x,y));
fast_erase(ys,P(y,x));
fast_erase(rxs,P(x,-y));
fast_erase(rys,P(y,-x));
ret++;
}
return ret;
}
map<P, char> vec;
vector<P> xs;
vector<P> ys;
vector<P> rxs;
vector<P> rys;
int main() {
cin>>n;
xs.reserve(n);
ys.reserve(n);
rxs.reserve(n);
rys.reserve(n);
rep(i,n) {
int x,y;
char c;
cin>>x>>y>>c;
vec[P(x,y)]=c;
xs.push_back(P(x,y));
ys.push_back(P(y,x));
rxs.push_back(P(x,-y));
rys.push_back(P(y,-x));
}
sort(all(xs));
sort(all(ys));
sort(all(rxs));
sort(all(rys));
ll ans=0;
for(const auto &e:vec) {
const auto &p=e.first;
ans=max(ans,cnt(p,vec,xs,rxs,ys,rys));
}
cout<<ans<<endl;
return 0;
}
提出情報
| 提出日時 |
|
| 問題 |
B - Vector Field |
| ユーザ |
MOTA |
| 言語 |
C++11 (GCC 4.8.1) |
| 得点 |
0 |
| コード長 |
2532 Byte |
| 結果 |
TLE |
| 実行時間 |
5043 ms |
| メモリ |
1744 KiB |
ジャッジ結果
| セット名 |
All |
| 得点 / 配点 |
0 / 100 |
| 結果 |
|
| セット名 |
テストケース |
| All |
00_sample_00, 00_sample_01, 10_sval_Small_00, 10_sval_Small_01, 10_sval_Small_02, 10_sval_Small_03, 10_sval_Small_04, 12_sval_Large_00, 12_sval_Large_01, 12_sval_Large_02, 12_sval_Large_03, 12_sval_Large_04, 20_lval_Small_00, 20_lval_Small_01, 20_lval_Small_02, 20_lval_Small_03, 20_lval_Small_04, 20_lval_Small_05, 20_lval_Small_06, 20_lval_Small_07, 20_lval_Small_08, 20_lval_Small_09, 22_lval_Large_00, 22_lval_Large_01, 22_lval_Large_02, 22_lval_Large_03, 22_lval_Large_04, 22_lval_Large_05, 22_lval_Large_06, 22_lval_Large_07, 22_lval_Large_08, 22_lval_Large_09, 32_NearMax_00, 32_NearMax_01, 32_NearMax_02, 32_NearMax_03, 32_NearMax_04, 32_NearMax_05, 32_NearMax_06, 32_NearMax_07, 32_NearMax_08, 32_NearMax_09 |
| ケース名 |
結果 |
実行時間 |
メモリ |
| 00_sample_00 |
AC |
34 ms |
952 KiB |
| 00_sample_01 |
AC |
30 ms |
952 KiB |
| 10_sval_Small_00 |
AC |
31 ms |
976 KiB |
| 10_sval_Small_01 |
AC |
29 ms |
1060 KiB |
| 10_sval_Small_02 |
AC |
30 ms |
1160 KiB |
| 10_sval_Small_03 |
AC |
30 ms |
952 KiB |
| 10_sval_Small_04 |
AC |
30 ms |
1076 KiB |
| 12_sval_Large_00 |
AC |
354 ms |
1308 KiB |
| 12_sval_Large_01 |
AC |
911 ms |
1460 KiB |
| 12_sval_Large_02 |
AC |
332 ms |
1320 KiB |
| 12_sval_Large_03 |
AC |
1133 ms |
1484 KiB |
| 12_sval_Large_04 |
AC |
959 ms |
1508 KiB |
| 20_lval_Small_00 |
AC |
30 ms |
972 KiB |
| 20_lval_Small_01 |
AC |
29 ms |
1156 KiB |
| 20_lval_Small_02 |
AC |
30 ms |
1044 KiB |
| 20_lval_Small_03 |
AC |
28 ms |
1052 KiB |
| 20_lval_Small_04 |
AC |
29 ms |
1052 KiB |
| 20_lval_Small_05 |
AC |
29 ms |
1112 KiB |
| 20_lval_Small_06 |
AC |
29 ms |
1052 KiB |
| 20_lval_Small_07 |
AC |
30 ms |
1156 KiB |
| 20_lval_Small_08 |
AC |
30 ms |
1056 KiB |
| 20_lval_Small_09 |
AC |
31 ms |
1156 KiB |
| 22_lval_Large_00 |
AC |
1697 ms |
1580 KiB |
| 22_lval_Large_01 |
AC |
345 ms |
1336 KiB |
| 22_lval_Large_02 |
AC |
321 ms |
1312 KiB |
| 22_lval_Large_03 |
AC |
488 ms |
1412 KiB |
| 22_lval_Large_04 |
AC |
367 ms |
1336 KiB |
| 22_lval_Large_05 |
AC |
930 ms |
1464 KiB |
| 22_lval_Large_06 |
AC |
1756 ms |
1572 KiB |
| 22_lval_Large_07 |
AC |
1208 ms |
1504 KiB |
| 22_lval_Large_08 |
AC |
363 ms |
1288 KiB |
| 22_lval_Large_09 |
AC |
1620 ms |
1568 KiB |
| 32_NearMax_00 |
TLE |
5037 ms |
1744 KiB |
| 32_NearMax_01 |
TLE |
5038 ms |
1668 KiB |
| 32_NearMax_02 |
TLE |
5037 ms |
1672 KiB |
| 32_NearMax_03 |
TLE |
5036 ms |
1680 KiB |
| 32_NearMax_04 |
TLE |
5037 ms |
1692 KiB |
| 32_NearMax_05 |
TLE |
5040 ms |
1664 KiB |
| 32_NearMax_06 |
TLE |
5037 ms |
1736 KiB |
| 32_NearMax_07 |
TLE |
5037 ms |
1688 KiB |
| 32_NearMax_08 |
TLE |
5036 ms |
1652 KiB |
| 32_NearMax_09 |
TLE |
5043 ms |
1676 KiB |