おじさん

大学サークル仲間による乱雑ブログ

-7℃の街で

最近寒すぎて引きこもり気味のロッキーです。

 

シャドバでネメシスの構築を考えているのですが難しい・・・

デッキに加えると引きたいカードが遠くなる、加えないと決め手に欠ける。

ドロソとサーチが増えたら強くなると思いますが今のところ厳しそうな印象です。

安定感なさ過ぎて有利な相手もいないように思えます。

 

今日からしばらく暇なのでポーカーやったりプログラム勉強したり体鍛えたり有意義に使いたいです。自宅トレーニングというアプリかなり運動にいいですよ。

この時期だと、焼き鳥食ってビール飲んで、蕎麦屋で揚げ物食べて日本酒飲んで、海鮮料理屋で刺身とビール、日本酒、鍋が来たら焼酎に切り替えて、締めの雑炊と芋ロックで乾杯。

寒さもそれほど感じない、帰り道の居酒屋のぞいておでんの大根とスジ頼む。ここまで来たら熱燗が飲みたい。

ポカポカ気分で、家路に着く。

風呂入って、ビールを一杯。

 

こたつに入ると気付いたら、朝。

 

だいたい飲みに出るとそんな感じ

花騎士3周年

フラワーナイトガールが3周年迎えました。

 

始めたころは半年で消えると思っていたけど、運営の良対応の賜物ですかね?

ゲーム性はないけどキャラとキャラSD愛でるだけのゲームで満足できるなら

始めるといいかも。

3周年で色々配ってますし

 

 

 

おわり

AtCoderのコンテスト


 

abc087.contest.atcoder.jp

AtCoderのコンテスト出たので結果

A問題

問題文
あなたは、X 円を持ってケーキとドーナツを買いに出かけました。
あなたはまずケーキ屋で 1 個 A 円のケーキを 1 個買いました。 次に、
ドーナツ屋で 1 個 B 円のドーナツをできるだけたくさん買いました。
これらの買い物のあと手元に残っている金額は何円ですか。

制約
1≤A,B≤1,000
A+B≤X≤10,000
X,A,B は整数である

入力
入力は以下の形式で標準入力から与えられる。
X
A
B

出力
買い物のあとに残った金額を出力せよ。


自分の解答

x = int(input()) #入力読み込み
a = int(input())
b = int(input())
d = (x-a) // b    #(x - a)をbで割って余り切り捨て
print((x-a)-b*d)

感想
A問題は簡単



B問題

問題文
あなたは、500 円玉を A 枚、100 円玉を B 枚、50 円玉を C 枚持っています。
これらの硬貨の中から何枚かを選び、合計金額をちょうど X 円にする方法は
何通りありますか。同じ種類の硬貨どうしは区別できません。2 通りの硬貨
の選び方は、ある種類の硬貨についてその硬貨を選ぶ枚数が異なるとき区別
されます。

制約
0≤A,B,C≤50
A+B+C≥1
50≤X≤20,000
A,B,C は整数である
X は 50 の倍数である

入力
入力は以下の形式で標準入力から与えられる。
A
B
C
X

出力
硬貨を選ぶ方法の個数を出力せよ。

自分の解答

a = int(input())  #入力読み込み
b = int(input())
c = int(input())
x = int(input())
 
count = 0
for i in range(a+1):     #a,b,cについてx - 500a -100b -50cになる組み合わせを探す
  for j in range(b+1):
    for k in range(c+1):
            if (x - i * 500 - j * 100 - k * 50) == 0:
                count += 1
print(count)

感想
 0<= A,B,C<=50なのでA,B,C全部についてループ回せばよいのだが
 気が付かず時間ロス。
ミスった

 

C問題

問題文
2×N のマス目があります。上から i 行目、左から j 列目 (1≤i≤2, 1≤j≤N) のマ
スをマス (i,j) と表すことにします。あなたははじめ、左上のマス (1,1) にいま
す。 あなたは、右方向または下方向への移動を繰り返し、右下のマス (2,N)
に移動しようとしています。マス (i,j) には Ai,j 個のアメが置かれています。
あなたは移動中に通ったマスに置いてあるアメをすべて回収します。 左上
および右下のマスにもアメが置かれており、あなたはこれらのマスに置かれ
ているアメも回収します。移動方法をうまく選んだとき、最大で何個のアメ
を回収できるでしょうか。

制約
1≤N≤100
1≤Ai,j≤100 (1≤i≤2, 1≤j≤N

入力
入力は以下の形式で標準入力から与えられる。
N
A1,1 A1,2 … A1,N
A2,1 A2,2 … A2,N

出力
回収できるアメの個数の最大値を出力せよ。

自分の解答

n = int(input())
A1 = [int(i)  for i in input().split()]  #1行目読み込み
A2 = [int(i)  for i in input().split()]  #2行目読み込み
sums = []
for i in range(n):
  sums.append(sum(A1[0:i+1]) + sum(A2[i:n+1]))  #ルートを全部探索
print(max(sums))    #スコアの最大値を出力

感想
 C問題にしては簡単なほうだった

 
D問題はいつも通り解けなかった。早く解けるようになりたい。
毎週日曜日夜九時から開催中。