#include <bits/stdc++.h> int main(){ std::map<int,int>m[2]; int n,r,a,b,w=0; std::cin >> n; for(int i=0;i<n;i++){ std::cin >> r >> a >> b; m[r&1][a-b]=(m[r&1].find(a-b)!=m[1-(r&1)].end())*m[r&1][a-b]+1; } for(std::map<int,int>::const_iterator i=m[0].begin();i!=m[0].end();++i)if(m[1].find(i->first)!=m[1].end())w+=std::min(m[1][i->first],i->second); std::cout << w << "\n"; }
1 2 3 4 5 6 7 8 9 10 11 12 13 | #include <bits/stdc++.h> int main(){ std::map<int,int>m[2]; int n,r,a,b,w=0; std::cin >> n; for(int i=0;i<n;i++){ std::cin >> r >> a >> b; m[r&1][a-b]=(m[r&1].find(a-b)!=m[1-(r&1)].end())*m[r&1][a-b]+1; } for(std::map<int,int>::const_iterator i=m[0].begin();i!=m[0].end();++i)if(m[1].find(i->first)!=m[1].end())w+=std::min(m[1][i->first],i->second); std::cout << w << "\n"; } |