メモ

yukicoderでゆるふわgolf

2016-05-14から1日間の記事一覧

yukicoder No.170 スワップ文字列(Easy)

問題はこちら No.170 スワップ文字列(Easy) - yukicoder任意に入れ替えられるので元の文字列の並び順は関係なく、どの文字がいくつ使われているかを数えれば良い あとは高校数学でやった「同じものを含む順列」 文字iが各a[i]個ある長さsの文字列を並べかえ…

yukicoder No.169 何分かかるの!?

問題はこちら No.169 何分かかるの!? - yukicoder小学校でやる算数の範囲なので説明は不要だろう…が、初心者は整数除算ではまらないように注意 S/(1-K/100) とそのまま書いてしまうとK/100が0になってバグる S/(1-K/100.0) や S/(1-(double)K/100) などと…

yukicoder No.167 N^M mod 10

問題はこちら No.167 N^M mod 10 - yukicoderN^Mをmod10で求めるのに必要な情報を考える Nはmod10、即ち下1桁の情報があれば良い Mはオイラーの定理(wikipedia)によればmod4、即ち下2桁の情報があれば良い N,Mとも巨大な数なので文字列として受け取って処理…

yukicoder No.166 マス埋めゲーム

問題はこちら No.166 マス埋めゲーム - yukicodermod NにおいてH*WとKが一致すると負け int main(){ long h,w,n,k; scanf("%ld%ld%ld%ld",&h,&w,&n,&k); puts(h*w%n==k%n?"YES":"NO"); return 0; } ぎゅっとする long c,d,a; main(b){a=scanf("%d%d%ld%ld",&…

yukicoder No.164 ちっちゃくないよ!!

問題はこちら No.164 ちっちゃくないよ!! - yukicoderstrtolという関数を使う strtol(char*s,char**p,int n)の形で使い、sをn進数と解釈して数値に変換する関数 また、変換に失敗(2進変換を指定したのに文字列内に'2'が登場するなど)したときにはその位…

yukicoder No.163 cAPSlOCK

問題はこちら No.163 cAPSlOCK - yukicoder 'A'+32で'a'になることを使えば、32を加減することで求める結果を得ることができる int main(){ char s[110]; int i; gets(s); for(i=0;s[i];i++)s[i]+=s[i]<'a'?32:-32; puts(s); return 0; } 前から読み込んでい…

yukicoder No.161 制限ジャンケン

問題はこちら No.161 制限ジャンケン - yukicoder相手が出す手がわかっているので順序は関係ない可能な限り勝てるような手を出せば良い #define min(a,b)(a

yukicoder No.159 刺さらないUSB

問題はこちら No.159 刺さらないUSB - yukicoder確率の計算 P1は「0回目で刺さらずかつ1回目で刺さる確率」なので 最初裏である確率(1-p)×1回ひっくり返して刺さる確率q P2は「0,1回目で刺さらずかつ2回目で刺さる確率」なので 最初表である確率p×最初刺さら…

yukicoder No.156 キャンディー・ボックス

問題はこちら No.156 キャンディー・ボックス - yukicoderNo.5 数字のブロックと制約以外は全く同じ問題なので通常の解説は省略 (通常解く分には影響のない程度の違い) (No.5とはN,Mの順序が違う点も注意)Mの制約が10倍違うので最後のループ圧縮だけ出来…

yukicoder No.154 市バス

問題はこちら No.154 市バス - yukicoder 場合分けが難しい先頭から順にW,G,Rの数をカウントしていき、W≧G≧Rが常に成り立っていて、かつ 最後まで見た時G=Rかつ、「Rでない文字のうち一番後ろにあるもの」がGであることがpossibleの必要十分条件 (最後の条…