struct node{
int a1, a2, a3, a4, a5;
bool operator < (const node &that) const {
if(a1 == that.a1 && a2 == that.a2 && a3 == that.a3 && a4 == that.a4) return a5 < that.a5;
if(a1 == that.a1 && a2 == that.a2 && a3 == that.a3) return a4 < that.a4;
if(a1 == that.a1 && a2 == that.a2) return a3 < that.a3;
if(a1 == that.a1) return a2 < that.a2;
return a1 < that.a1;
}
};
map<node, int> mp;
如上面代码