Hatena::Grouptopcoder

nodchipのTopCoder日記 このページをアンテナに追加 RSSフィード

 | 

2012-01-15

Single Round Match 529 11:24 Single Round Match 529 - nodchipのTopCoder日記 を含むブックマーク はてなブックマーク - Single Round Match 529 - nodchipのTopCoder日記 Single Round Match 529 - nodchipのTopCoder日記 のブックマークコメント

Easy 250 KingSort

  • うげ・・・面倒なローマ数字パース・・・
  • とりあえず愚直にやる
  • 今回はローマ数字は2パーツまでしか来ないので、1パーツ目を切り取ってから2パーツ目を解釈する感じで
  • 書けた
  • Submit
  • ・・・
  • ってバグってね?
  • 1パーツ目が頭にあることを確認してないorz
  • Resubmit orz
  • Passed System Test
const char* TENS_STRING[] = {"L", "XL", "XXX", "XX", "X"};
const int TENS_NUMBER[] = {50, 40, 30, 20, 10};
const char* ONES_STRING[] = {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};

class KingSort {
public:
	struct King {
		string original;
		string name;
		int number;
		King(const string& s) {
			original = s;
			istringstream iss(s);
			string num;
			iss >> name >> num;
			name += " ";

			number = 0;
			REP(i, 5) {
				if (num.find(TENS_STRING[i]) != 0) {
					continue;
				}
				number += TENS_NUMBER[i];
				num = num.substr(strlen(TENS_STRING[i]));
				break;
			}

			REP(i, 10) {
				if (num != ONES_STRING[i]) {
					continue;
				}
				number += i;
				break;
			}
		}
		bool operator < (const King& rh) const {
			return name != rh.name ? name < rh.name : number < rh.number;
		}
	};
	vector <string> getSortedList(vector <string> kings) {
		vector<King> ks;
		REP(i, kings.size()) {
			ks.push_back(King(kings[i]));
		}
		sort(ALL(ks));

		vector <string> result;
		REP(i, ks.size()) {
			result.push_back(ks[i].original);
		}
		return result;
	}
}

Middle 600 MinskyMystery

  • うむむ?
  • この形式はどこかで見たことがる・・・
  • とりあえず愚直なシミュレーションを書いてみる
  • ・・・
  • どうやらNの最小の約数までループが回っているらしい・・・
  • ・・・で?
  • ・・・
  • n/2+n/3+n/4+・・・n/n的な何かが足されてる
  • ううむ
  • よく分からんorz

Hard

  • 読んでいません

Challenge Phase

  • 600はNが素数だった場合に愚直なシミュレーションをしていると終わらなくなるはず
  • でっかい素数をBigInteger.probablePrime()で作っておく
  • 今回は撃墜祭りになるはずなので呼吸を整えて絨毯爆撃の準備
  • ・・・
  • スタート!
  • テストケース投入!
  • 他の人に先をこされたorz
  • 落とされていないやつを1つゲット!
  • 終了

System Test

SubmissionsDefensesChallengesSystemPointRatings
CodersQnty / Points Qnty / Points Qnty / PointsTestTotal Old / New
nodchip1171.32 00.00 150.000.00221.32 18161864

1816->1861 平均レーティングまで戻せたので良かったです。

トラックバック - http://topcoder.g.hatena.ne.jp/nodchip/20120115
 |