Hatena::Grouptopcoder

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

 | 

2015-06-13

AtCoder Regular Contest 040 22:30 AtCoder Regular Contest 040 - nodchipのTopCoder日記 を含むブックマーク はてなブックマーク - AtCoder Regular Contest 040 - nodchipのTopCoder日記 AtCoder Regular Contest 040 - nodchipのTopCoder日記 のブックマークコメント

A - 床塗り

  • 数える
int main() {
	std::ios::sync_with_stdio(false);

	int N;
	cin >> N;
	int takahashi = 0;
	int aoki = 0;
	REP(n, N) {
		string s;
		cin >> s;
		takahashi += count(ALL(s), 'R');
		aoki += count(ALL(s), 'B');
	}
	if (takahashi > aoki) {
		cout << "TAKAHASHI" << endl;
	} else if (takahashi < aoki) {
		cout << "AOKI" << endl;
	} else {
		cout << "DRAW" << endl;
	}
}

B - 直線塗り

  • 貪欲法
    • 自分がいるマスが塗られていないならインク発射
    • 一番右側の塗られてないマスに届くならインク発射
    • そうでないなら右移動
int main() {
	std::ios::sync_with_stdio(false);

	int N, R;
	string S;
	cin >> N >> R >> S;

	int time = 0;
	int current = 0;
	while (S.find('.') != string::npos) {
		++time;
		if (S[current] == '.') {
			fill(S.begin() + current, min(S.begin() + current + R, S.end()), 'o');
			continue;
		}

		int last = S.find_last_of('.');
		if (current + R > last) {
			fill(S.begin() + current, min(S.begin() + current + R, S.end()), 'o');
			continue;
		}

		++current;
	}


	cout << time << endl;
}

C - Z塗り

  • 貪欲法
  • 上から下、右から左に見ていき、塗られていないマスを見つけたらインク発射
vector<string> table;

void fill(int r, int c) {
	for (int j = c; j >= 0; --j) {
		table[r][j] = 'o';
	}
	if (r + 1 < table.size()) {
		for (int j = c; j < table.size(); ++j) {
			table[r + 1][j] = 'o';
		}
	}
}

int main() {
	std::ios::sync_with_stdio(false);

	int N;
	cin >> N;
	REP(n, N) {
		string s;
		cin >> s;
		table.push_back(s);
	}

	int answer = 0;
	for (int r = 0; r < N; ++r) {
		for (int c = N - 1; c >= 0; --c) {
			if (table[r][c] == 'o') {
				continue;
			}
			fill(r, c);
			++answer;
		}
	}
	cout << answer << endl;
}

D - カクカク塗り

  • 分かりませんでした

結果

順位ユーザ名床塗り直線塗りZ塗りカクカク塗り得点 / Total
20nodchip100 04:45100 13:37100 21:45(1)300 21:45

久々に1ページ目に載ることが出来ました。しばらくは現状維持が目標になりそうです。

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