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

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

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

AtCoder Beginner Contest 237 C - kasaka

問題の要約 英小文字からなる文字列Sが与えられる。Sの先頭にaをいくつか(0個でもよい)付け加えて回文にすることができるか判定せよ。制約 1<=|S|<=10^6入力 S考え方 1,Sにaの挿入と削除をしてaの数を合わせてから、その次に回文を判定したい。 Sの先頭にaを…

AtCoder Beginner Contest 237 B - Matrix Transposition

問題の要約 H行W列の行列Aが与えられる。 Aの上からi行目、左からj列目の要素はAi,j。 Aの転置行列Bを出力しろ。制約 1<=H,W<=10^5 H*W<=10^5 1<=Ai,j<=10^9入力 H W A1,1 ... A1,W ... AH,1 ... AH,W考え方 1,制約のH*W<=10^5より二重のfor文を使ってAからB…

AtCoder Beginner Contest 237 A - Not Overflow

問題の要約 整数Nが与えられる。Nが-2^31以上かる2^31未満ならばYesを、そうでないならばNoを出力しろ制約 -2^63<=N<2^63入力 N考え方 1,intやlong longでbit数を考えるのではなく、doubleで受け取りdoubleで考える。 2,後は単純なif文での条件分岐。実際の…

AtCoder Beginner Contest 236 C - Route Map

問題の要約 鉄道のとある路線にはN個の駅が存在し、始点から終点に向かってi(1<=i<=N)番目の駅の名前はSi。 普通列車は全ての駅に止まるが、急行列車は全ての駅に止まるとは限らない。 急行列車はM(M<=N)個の駅にのみ止まり、j(1<=j<=M)番目に止まる駅の名前…

AtCoder Beginner Contest 236 B - Who is missing?

問題の要約 整数1,2,...,Nが書かれたカードが4枚ずつ、合計4N枚ある。 これらのカードをシャッフルしたのち1枚のカードを選んで抜き取り、残りの4N-1枚を束にして渡された。 渡された束のi(1<=i<=4N-1)枚目のカードには、整数Aiが書かれている。 抜き取られ…

AtCoder Beginner Contest 236 A - chukodai

問題の要約 英小文字からなる文字列Sが与えられる。 Sの先頭からs文字目とb文字目を入れ替えて得られる文字列を出力せよ。制約 2<=|S|<=10 1<=a<b<=|S|入力 S a b考え方 1,C++には値を入れ替えるswap関数があるのでそれを使う。 実際のプログラム#include<iostream>#include<string> using namespace std; int main(){ string S; cin >> S; int a,b; cin >> a >> b; swap(S[a-1],S[b-1])</string></b<=|s|入力>…

JavaScriptで倒立振子(マウスで操作版)

#canvas{ border:1px solid #000000; } p.game{ text-align: center; } マウスをBoard(最初に中央にある四角のもの)の左右にマウスを動かすと、動かした分だけBoardにx方向の力が加わります。 左右の壁にボールがぶつかると"GAME OVER"になります。 const ca…

AtCoder Beginner Contest 234 D - Prefix K-th Max

問題の要約 (1,2,...,N)の順列P=(P1,P2,...,PN)、および正整数Kが与えられる。 i=K,K+1,...,Nについて、以下を求めよ。 ・Pの先頭i項のうち、K番目に大きい値制約 1<=K<=N<=5*10^5入力 N K P1 P2 ... PN考え方 1,Piの値は(1,2,...,N)の順列なので重複はない…

AtCoder Beginner Contest 234 C - Happy New Year!

問題の要約 10進数で表記したときに0,2のみからなる正整数のうち、K番目に小さいものを求めよ。制約 1<=K<=10^18入力 K考え方 1,簡単な実験(例えば15番目くらいまで書き出してみるなど)で2と0の組み合わせとKの2進数とが対応していることに気づく。 2,入力例…

AtCoder Beginner Contest 234 B - Longest Segment

問題の要約 二次元平面上にN個の点がある。i個目の点の座標は(xi,yi)である。 この中から2個の点を選ぶとき、それらを結ぶ線分の長さの最大値を求めよ。制約 2<=N<=100 -1000<=xi,yi<=1000 (xi,yi)≠(xj,yj)(i≠j)入力 N x1 y1 ... xN yN出力 想定解との絶対誤…

AtCoder Beginner Contest 234 A - Weird Function

問題の要約 関数fをf(x)=x^2+2*x+3と定義する。 整数tが入力されるので、f(f(f(t)+t)+f(f(t)))を求めよ。 ただし、答えは2*10^9以下の整数であることが保証される。制約 0<=t<=10入力 t考え方 1,関数を作り、それにtを代入して答えを出力。実際のプログラム#…