Submission #1531227
Source Code Expand
#include<bits/stdc++.h> using namespace std; vector<vector<int> >t; multiset<vector<int> >v; int n,c; long long ans,cnt,tt; vector<int> rot(vector<int> vv){return {vv[1],vv[2],vv[3],vv[0]};} int main() { vector<int>t1,t2; vector<vector<int> >::iterator it1,it2; scanf("%d",&n); for(int i=0;i<n;i++) { int a,b,c,d; scanf("%d%d%d%d",&a,&b,&c,&d); t.push_back({a,b,c,d}); } sort(t.begin(),t.end()); for(it1=t.begin();it1!=t.end();it1++) { for(it2=it1,it2++;it2!=t.end();it2++) { t1=*it1;t2=*it2; for(int d=0;d<4;d++,t2=rot(t2)) { v.clear(); v.insert(t1); v.insert(t2); cnt=1; for(int i=0;i<4;i++) { tt=0; vector<int> vv={t1[(i+1)%4],t1[i%4],t2[(4-i)%4],t2[(7-i)%4]}; for(int j=0;j<4;j++,vv=rot(vv)) { tt+=upper_bound(t.begin(),t.end(),t)-lower_bound(t.begin(),t.end(),t); tt-=v.count(vv); } tt=max(tt,0ll); cnt*=tt; v.insert(vv); } ans+=cnt; } } } printf("%lld\n",ans/3); return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - Building Cubes with AtCoDeer |
User | xuyuan |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 1049 Byte |
Status | CE |
Compile Error
In file included from /usr/include/c++/5/bits/stl_algobase.h:71:0, from /usr/include/c++/5/bits/char_traits.h:39, from /usr/include/c++/5/ios:40, from /usr/include/c++/5/istream:38, from /usr/include/c++/5/sstream:38, from /usr/include/c++/5/complex:45, from /usr/include/c++/5/ccomplex:38, from /usr/include/x86_64-linux-gnu/c++/5/bits/stdc++.h:52, from ./Main.cpp:1: /usr/include/c++/5/bits/predefined_ops.h: In instantiation of ‘bool __gnu_cxx::__ops::_Val_less_iter::operator()(_Value&, _Iterator) const [with _Value = const std::vector<std::vector<int> >; _Iterator = __gnu_cxx::__normal_iterator<std::vector<int>*, std::vector<std::vector<int> > >]’: /usr/include/c++/5/bits/stl_algo.h:2050:14: required from ‘_ForwardIterator std::__upper_bound(_ForwardIterator, _ForwardIterator, const _Tp&, _Compare) [with _ForwardIterator = __gnu_cxx::__normal_iterator<std::vector<int>*, std...