2013年1月20日日曜日

TopCoder SRM453.5 Div2 250Pts

このTopCoderの問題はこちらで見ることができる(要TopCoder登録 & 問題文は英語)。問題文についておおまかに説明する。

あなたは大工さんで、家具をいくつか作りたいと思っている。不幸なことに、すべての道具を無くしてしまった。need[]という、i番目の要素は、スペースで区切られた家具を作るのに必要な道具のリストが与えられる。すべての家具を作るのに買わなければならない異なる道具の数を返せ。

私の解答はこちら。

import java.util.HashSet;

public class ToolsBox {

 public int countTools(String[] need) {
  HashSet<String> hs = new HashSet<String>();
  for( int i=0 ; i<need.length ; i++ ){
   String[] tools = need[i].split(" "); // スペース区切りのリスト
   for( int j=0 ; j<tools.length ; j++ ){
    hs.add(tools[j]); // ハッシュに放り込む
   }
  }
  return hs.size(); // ハッシュのサイズ=買わなければならない道具の数
 }

}

得点は246.90/250、1回のsubmitでシステムテストクリア。

0 件のコメント:

コメントを投稿

フォロワー

ブログ アーカイブ

ページビューの合計