yokobuttonの不定期で競技プログラミングをするブログ

不定期で解けた競技プログラミングコンテストの問題を載せています。

2021-12-01から1ヶ月間の記事一覧

JavaScriptでブロックくずしゲーム

下のURLを参考に「そのままのJavaScriptを使ったブロックくずしゲーム」をつくりました。 https://developer.mozilla.org/ja/docs/Games/Tutorials/2D_Breakout_game_pure_JavaScript #canvas{ border:1px solid #000000; } /*alert("GAME START!");*/ let s…

AtCoder Beginner Contest 233 C - Product

問題の要約 N個の袋がある。 袋iにはLi個のボールが入っていて、袋iのj(1<=j<=Li)番目のボールには正の整数ai,jが書かれている。 それぞれの袋から1つずつボールを取り出す。 取り出したボールに書かれた数の総積がXになるような取り出し方は何通りあるか? …

AtCoder Beginner Contest 233 B - A Reverse

問題の要約 整数L,Rと、英小文字のみからなる文字列Sが与えられる。 SのL文字目からR文字目までの部分を反転した文字列を出力しろ。制約 1<=|S|<=10^5 1<=L<=R<=|S|入力 L R S考え方 1,C++の場合、文字列を逆順にするにはreverse関数を使うことができる。実…

AtCoder Beginner Contest 233 A - 10yen Stamp

問題の要約 手紙を出したいので、X円切手が1枚だけ貼られた封筒を用意した。 手紙を届けるためには、貼られている切手の総額がY円以上である必要がある。 この封筒に10円切手を何枚か貼り足すことで、貼られている切手の総額をY円以上にしたい。 最小で何枚…

M-SOLUTIONS プロコンオープン2021(AtCoder Beginner Contest 232) D - Weak Takahashi

問題の要約 縦H行、横W行のH*Wマスからなるグリッドがある。上からi行目、左からj列目のマスを(i,j)と表す。 各マスの状態は文字Ci,jで表され、Ci,j=.ならばマス(i,j)は空きマスであり、Ci,j=#ならばマス(i,j)は壁である。 今、グリッド上を歩こうとしている…

M-SOLUTIONS プロコンオープン2021(AtCoder Beginner Contest 232) C - Graph Isomorphism

問題の要約 N個のボールにM本のひもを取り付けたおもちゃが2つある。 1つのおもちゃには、ボールに1,...,Nと番号が付けられており、i(1<=i<=M)本目のひもはボールAiとボールBiを結んでいる。 もう1つのおもちゃも同様に、ボールに1,...,Nと番号が付けられて…

M-SOLUTIONS プロコンオープン2021(AtCoder Beginner Contest 232) B - Caesar Cipher

問題の要約 英小文字からなる文字列Sを持っている。 文字列Sに対して、下記の操作をちょうど1回行う。 ・まず、非負整数Kを選ぶ。 ・その後、Sの各文字をK個後ろの英小文字に変更する。 ただし、 ・aの1個後ろの英小文字はbであり、 ・... ・zの1個後ろの英…

M-SOLUTIONS プロコンオープン2021(AtCoder Beginner Contest 232) A - QQ solver

問題の要約 3文字からなる文字列Sが与えられる。Sは、1以上9以下の整数a,bと文字xを、axbのように順につなげて得られる。 aとbの積を求めよ。制約 Sの長さは3 Sの1文字目および3文字目は1以上9以下の整数 Sの2文字目はx入力 S考え方 1,Sの1文字目と3文字目を…

パナソニックプログラミングコンテスト2021(AtCoder Beginner Contest 231) D - Neighbors

問題の要約 1からNの番号がついたN人を横一列に並べる方法のうち,以下の形式のM個の条件全てを満たすものが存在するか判定しろ。 ・条件:人Aiと人Biは隣り合っている制約 2<=N<=10^5 0<=M<=10^5 1<=Ai<Bi<=N (Ai,Bi)は相異なる入力 N M A1 B1 ... AM BM考え方 1,人の番号を1ずらす 1<=i<=N => 0<=i<=N-1 2,グラフで考える。 3,(Ai,Bi)が相異なること</bi<=n>…

パナソニックプログラミングコンテスト2021(AtCoder Beginner Contest 231) C - Counting 2

問題の要約 N人の生徒からなるクラスがあり,i(1<=i<=N)番目の生徒の身長はAi。 j=1,2,...,Qについて,以下の質問に答えよ。 ・N人のうち,身長がxj以上の生徒は何人か?制約 1<=N,Q<=2*10^5 1<=Ai<=10^9 1<=xj<=10^9入力 N Q A1 A2 ... AN x1 x2 ... xQ出力 Q行…

パナソニックプログラミングコンテスト2021(AtCoder Beginner Contest 231) B - Election

問題の要約 選挙が行われる。 N人が投票を行い,i(1<=i<=N)番目の人はSiという名前の候補者に投票した。 得票数が最大の候補者の名前を答えよ。なお,与えられる入力では得票数が最大の候補者は一意に定まる。制約 1<=N<=100入力 N S1 ... SN考え方 1,投票者の…

パナソニックプログラミングコンテスト2021(AtCoder Beginner Contest 231) A - Water Pressure

問題の要約 水圧は水深のみに依存し,水深x[m]の場所ではx/100[MPa]になるものとする。 水深D[m]の場所の水圧は何[MPa]か?制約 1<=D<=10000入力 D 考え方 1,問題文の通りD/100を出力する。 入力はdoubleで受け取り,出力の際は小数点以下が出力されるようにす…

AtCoder Beginner Contest 215 C - One More aab aba baa

問題の要約 文字列Sの各文字を並べ替えて作ることが可能な文字列を辞書順に全て列挙したとき,前からK番目にくる文字列を求めよ。制約 1<=|S|<=8入力 S K考え方 1,制約からSの文字数が少ないので,c++の場合next_permutation関数で全ての並べ替えが間にあう。…

AtCoder Beginner Contest 215 B - log2(N)

問題の要約 正整数Nが与えられるので,2^k<=Nとなる最大の整数kを求めよ。制約 1<=N<=10^18入力 N考え方 1,入力例3からN=10^18のkは59なのでfor文で間に合う。 for文はiを0から60まで回す。 2^i<=Nの条件が満たされなくなったとき,k=i-1としてkを出力。実際の…

AtCoder Beginner Contest 215 A - Your First Judge

問題の要約 文字列Sが与えられるので,この文字列がHello,World!と完全に一致するならAC,そうでないならWAと出力しろ。制約 1<=|S|<=15 Sは英大小文字と,と!のみからなる。入力 S考え方 1,if文で文字列が一致するかどうかで条件分岐するだけ。実際のプログラ…