intさわだんのBlack History

刹那的レジェンドになりたい。

POJ(PKU) 1065 Wooden Sticks

闇。

このブログを参考にさせていただきました。
http://d.hatena.ne.jp/atetubou/20110528/1306544909





以上。

#include <cstdio>
#include <algorithm>
#include <utility>

using namespace std;

int main(){
  
  int t;
  
  scanf("%d",&t);
  
  while(t--){
  
  int n;
  bool use[5003];
  int ans = 0;
  
  pair<int,int> d[5003];
  
  scanf("%d",&n);
  
  for(int i = 0;i < n;i++){
    scanf("%d%d",&d[i].first,&d[i].second);
    use[i] = false;
  }
  
  sort(d, d + n);
  
  int l = -1,w = -1;
  
  for(int i = 0;i < n;i++){
    if(use[i] == true) continue;
    
    if(l == -1){
      l = d[i].first;
      w = d[i].second;
      ans++;
      use[i] = true;
    }else{
      for(int j = i;j < n;j++){
	if(use[j])continue;
	if(l <= d[j].first && w <= d[j].second){
	  l = d[j].first;
	  w = d[j].second;
	  use[j] = true;
	}
      }
      l = -1,w = -1;
      i--;
      
    }
  }
  
  printf("%d\n",ans);
  
  }
  
  return 0;
  
}