#include <cstdio> #include <iostream> #include <string> #include <sstream> #include <cstring> #include <stack> #include <queue> #include <algorithm> #include <cmath> #include <map> #define PI acos(-1.0) #define ms(a) memset(a,0,sizeof(a)) #define msp memset(mp,0,sizeof(mp)) #define msv memset(vis,0,sizeof(vis)) using namespace std; //#define LOCAL struct Node { int b; int e; }t; int cmp(Node a,Node b) { if(a.b==b.b)return a.e<b.e; return a.b<b.b; } vector<Node> v; int main() { #ifdef LOCAL freopen("in.txt", "r", stdin); #endif // LOCAL ios::sync_with_stdio(false); int N; cin>>N; while(N--) { int n; cin>>n; v.clear(); while(n--) {cin>>t.b>>t.e; if(t.e<t.b)swap(t.e,t.b); v.push_back(t);} sort(v.begin(),v.end(),cmp); int ans=0; while(v.size()) { t=v[0],ans++,v.erase(v.begin()); for(int i=0;i<(int)v.size();i++) { if(v[i].b<=t.e)continue;//不好描述,算了 if((t.e+1)%2==0&&v[i].b-1==t.e)continue;//奇数房的对面房间 else t.e=v[i].e,v.erase(v.begin()+i),i--;//原来上一句是没有的,WA } } printf("%d\n",ans*10); } return 0; }
原文:http://www.cnblogs.com/gpsx/p/5187073.html