C♯の勉強

C♯4.0 で TopCoder の過去問を解きます。

CodeForces

Codeforces Round #204: Jeff and Rounding

小数点の取り扱い まずハマった点としては、CodeForcesのサーバー上では CultureInfo がロシアになっているため、小数点の表記が "." ではなく "," で使用される。そのため double.Parseに "0.11" を渡すと Runtime Error となり "0,11" のような小数文字列…

Codeforces Round #204 : Jeff and Periods

namespace Codeforces { public class _352B { static int? getP(IEnumerable<int> array) { if (array.Count() == 1) return 0; var diff = array.Zip(array.Skip(1), (a0, a1) => a1 - a0); if (diff.Distinct().Count() == 1) return diff.First(); return nul</int>…

Codeforces Round #204: Jeff and Digits

90の倍数の条件は 各桁の数字の和が、9の倍数 最後の桁が 0 を満たすことである。よって 5 は 「9 の倍数」分使えるだけ使う 0 は 全部使う ただし、使える 5 がない場合は "0000..0" とせず "0" を返し、0 がない場合は強制的に -1 を返す。 namespace Code…