Time Limit: 2 sec / Memory Limit: 256 MB
Problem Statement
すぬけ君は、2015 を 2 進数で表すと 11111011111
となり回文になっていることに気づいた。
整数 N を (余計な 0 をつけない) 2 進数で表したとき、回文になっているかどうか判定せよ。
ただし、左から呼んでも右から読んでも同じ文字列を回文という。
Constraints
- 1 \leq N \leq 10^9
Input Format
N
Output Format
Yes
または No
と出力せよ。
Sample Input 1
2015
Sample Output 1
Yes
Sample Input 2
2016
Sample Output 2
No
Time Limit: 2 sec / Memory Limit: 256 MB
Problem Statement
N 個の餅がある。i 番目の餅の重さは a_i である。 すぬけ君は、この中からいくつかの餅を選び好きな順番で積み重ねて、餅の塔を作ることにした。 ただし、ある餅の上に乗っている餅の重さの合計がそのもちの重さ以上になると、餅が割れてしまう。 餅の塔を最大何段にすることができるか求めよ。
Constraints
- 1 \leq N \leq 1000
- 1 \leq a_i \leq 10^9
Input Format
N a_1 : a_N
Output Format
Sample Input 1
5 3 20 5 8 6
Sample Output 1
3
Time Limit: 2 sec / Memory Limit: 256 MB
Problem Statement
すぬけ君は、新年のプレゼントに文字列 s をもらった。以下の操作を繰り返すことで s をすぬけ君の好きな文字列 t にできるかどうか判定せよ。
操作: s から文字を一つ選び、その直後に選んだ文字とは異なる文字を一つ挿入する。
Constraints
- 1 \leq |s| \leq |t| ≤ 5000
- s, t は英小文字のみからなる
Input Format
s t
Output Format
Yes
または No
と出力せよ。
Sample Input 1
snuke snukent
Sample Output 1
Yes
Sample Input 2
snuke ssnuke
Sample Output 2
No
Time Limit: 2 sec / Memory Limit: 256 MB
Problem Statement
すぬけ君が、一次元の無限に長い道路の上に立っている。すぬけ君は、N 種類のジャンプをすることができる。i 番目のジャンプでは、a_i に対して対称な位置にジャンプできる (場所 x にいるとき、場所 2a_i - x に移動する)。
Q 種類のクエリに答えよ。i 番目のクエリでは、s_i から t_i に行くのに最小何回ジャンプすればよいか求めよ。ただしジャンプだけで到達できない場合には、代わりに -1
と出力せよ。
Constraints
- 1 \leq N \leq 200
- 0 \leq a_1 < ... < a_N \leq 10000
- 1 \leq Q \leq 100000
- 0 \leq s_i, t_i \leq 10000
Input Format
N a_1 : a_N Q s_1 t_1 : s_Q t_Q
Output Format
Sample Input 1
4 1 2 4 7 10 2 3 5 6 6 0 3 7 10 3 7 6 5 5 2 10 4 10 10 10
Sample Output 1
-1 -1 2 2 -1 -1 0 3 1 0
Time Limit: 2 sec / Memory Limit: 256 MB
Problem Statement
N 人の人が寝ている。すぬけ君は、N-1 本のひもでこの人たちを結びつけることにした。
- それぞれのひもは、両端を異なる人に結びつけることによって、その二人を結びつけることができる。
- どの二人も直接的または間接的にひもでつながっているようにしたい。
- i 番目の人にはちょうど a_i 本のひもがつながっているようにしたい。
ひもの結び付け方は何通りあるか、\rm{mod}\ 1,000,000,007 で求めよ。
ひもは区別がつかないものとする。Constraints
- 2 \leq N \leq 100000
- 1 \leq a_i \leq 3
Input Format
N a_1 : a_N
Output Format
Sample Input 1
9 1 3 2 1 3 1 2 1 2
Sample Output 1
1260
Time Limit: 2 sec / Memory Limit: 256 MB
Problem Statement
すぬけ君が番号札を N 個持っている。i 番目の番号札には数字 a_i が書いてあり、色は c_i である。
すぬけ君は、ある正整数 M が存在し、数字と色の間には以下のような関係があるのではないかと考えた。
- 1,\ ...,\ M は同じ色で塗られている。
- M+1,\ ...,\ 2M は別の同じ色で塗られている。
- 2M+1,\ ...,\ 3M は別の同じ色で塗られている。
- ...
M として何通りの数が考えられるか求めよ。ただし、M の値が無限通り考えられる場合には、-1
を出力せよ。
Constraints
- 1 \leq N \leq 20
- 1 \leq a_1 < ... < a_N \leq 10^9
- 1 \leq c_i \leq 20
Input Format
N a_1 c_1 : a_N c_N
Output Format
Sample Input 1
4 27 2 2000 4 2015 4 2100 1
Sample Output 1
277
Sample Input 2
3 1 1 2 2 3 1
Sample Output 2
0
Time Limit: 2 sec / Memory Limit: 256 MB
Problem Statement
すぬけ君は N 個のロボットを持っている。最初に、i 番目のロボットは座標 (x_i, y_i) に向き d_i の方向を向いて止まっている。
d_i は U
, D
, L
, R
のいずれかであり、それぞれ y 座標の正の方向、 y 座標の負の方向、 x 座標の負の方向、 x 座標の正の方向を表す。
このロボットは、何か (すぬけ君または他のロボット) に触れると向いている方向に毎秒 1 の速さで動き出す性質がある。また、このロボットはすり抜けることができるので、動いているロボットが他のロボットに衝突しても止まったり運動の向きや速さが変わることはない。
すぬけ君は、時刻 0 にロボット 1 をさわった。時刻 T のそれぞれのロボットの座標を求めよ。
Constraints
- 1 ≤ N ≤ 100000
- 0 ≤ T ≤ 10^{18}
- 0 ≤ x_i, y_i ≤ 10^9
- d_i は
U
,D
,L
,R
のいずれかである - 時刻 0 にはどの二つのロボットも同じ場所にない
Input Format
N T x_1 y_1 d_1 : x_N y_N d_N
Output Format
Sample Input 1
5 10 1 0 U 3 1 U 1 2 R 1 1 L 0 1 R
Sample Output 1
1 10 3 6 9 2 -8 1 8 1
Time Limit: 2 sec / Memory Limit: 256 MB
Problem Statement
Constraints
- 2 \leq N \leq 100000
- 0 \leq x_i, y_i \leq 10^9
- 二つの空港が同じ座標にあることはない。
Input Format
N x_1 y_1 : x_N y_N
Output Format
Sample Input 1
6 1 7 8 5 6 3 10 3 5 2 6 10
Sample Output 1
9
Time Limit: 4 sec / Memory Limit: 512 MB
Problem Statement
すぬけ君は、配列 P と Q をマージして配列 R を作ることにした。
- 最初に、R は空である。
- P または Q が空でない間、P または Q のうち空でない配列 (両方空でない場合は好きなほう) を選び、その配列の左端の要素を取り出し、R の右端にくっつける。
Constraints
- 1 \leq N \leq 2000
- P, Q は 1 から N の順列である。
Input Format
N P_1 ... P_N Q_1 ... Q_N
Output Format
Sample Input 1
4 3 1 2 4 3 1 2 4
Sample Output 1
14
Sample Input 2
10 5 7 3 1 6 4 2 10 9 8 2 8 9 1 5 6 10 4 3 7
Sample Output 2
127224
Time Limit: 4 sec / Memory Limit: 512 MB
Problem Statement
無限に広い二次元のマス目がある。このマス目の座標は二つの整数 i, j を用いて (i, j) と表せる。
すぬけ君は、(0, 0) から出発し、N 歩ランダムウォークを行う。(i, j) にいるとき、一歩進むとそれぞれ 1/4 ずつの確率で (i-1, j), (i, j-1), (i, j+1), (i+1, j) に進む。
すぬけ君が N 歩ランダムウォークを行ったとき、一回以上訪れたマス目の個数の期待値を E とする。E \times 4^N を M で割ったあまりを求めよ。 ただし、(0, 0) は常に一回以上訪れたマス目に含まれるものとする。Constraints
- 1 \leq N \leq 5000
- 10^9 \leq M \leq 2 \times 10^9
Input Format
N M
Output Format
Sample Input 1
2 1000000007
Sample Output 1
44
Sample Input 2
2015 2000000000
Sample Output 2
1892319232
Time Limit: 4 sec / Memory Limit: 256 MB
Problem Statement
N 人の人がチーム戦の練習を行うことになった。 すぬけ君は、次の条件を満たすように練習のスケジュールを組みたい。
- 練習は 1 日以上 N^2 日以下行われる。
- 毎日 N 人のうち 3 人が練習をする。
- 人 p と人 q が同時に練習する回数を f(p, q) としたとき、f(p, q) が任意の二人組について等しくなるようにしたい。
Constraints
- 3 \leq N \leq 1000
Input Format
N
Output Format
-1
と一行に出力せよ。
存在する場合、スケジュールを一つ以下の形式に従って出力せよ。
ただし、K は練習の日数であり、x_i, y_i, z_i はi 日目に練習する人の番号である。
人には 1 から N までの番号がついている。
K x_1 y_1 z_1 : x_K y_K z_K
Sample Input 1
5
Sample Output 1
10 1 2 3 1 2 4 1 2 5 1 3 4 1 3 5 1 4 5 2 3 4 2 3 5 2 4 5 3 4 5
Time Limit: 2 sec / Memory Limit: 256 MB
Problem Statement
すぬけ君の机には N 個のしみがついている。 i 番目のしみの座標は (x_i, y_i) である。
すぬけ君は、しみを何個か (0 個でもよい) 付け足してしみ全体がボードゲームの盤面となるようにしたい。すぬけ君の作りたい盤は、ある K に対して、K^2 個のしみが K \times K の正方格子状に並んでいるようなものである。ただし、盤面が座標軸に平行である必要はない。
すぬけ君が書き足さなければならないしみの個数の最小値を求めよ。 ただし、机は十分広く、しみが机をはみ出すことはないものとする。
入力は整数であるが、新しく追加するしみの座標は整数でなくても良い。Constraints
- 1 \leq N \leq 100000
- 0 \leq x_i, y_i \leq 10^9
- 二つのしみが同じ座標にあることはない
- 入力は全て整数である
Input Format
N x_1 y_1 : x_N y_N
Output Format
Sample Input 1
3 1 5 3 6 4 9
Sample Output 1
6
Time Limit: 10 sec / Memory Limit: 256 MB
Problem Statement
すぬけ君は、絵を描くことにした。 最初に、すぬけ君は細長い白い紙を用意し、1 \times N のマス目に区切った。 次に、すぬけ君は、K 回の操作を行う。 i 回目の操作では、連続する a_i このマス目を選び、全て黒く塗る。 この操作では、選ばれたマス目のうち白かったものは黒に変わり、もともと黒かったマスはそのままである。
すぬけ君が何通りの絵をかくことができるか、\rm{mod}\ 1,000,000,007 で求めよ。 二つの絵はあるマス目の最終的な色が異なるときに異なる絵であるとみなす。 回転して同じになる絵でも異なるものとみなす。
Constraints
- 1 \leq N \leq 10^9
- 1 \leq K \leq 4
- 1 \leq a_i \leq N
Input Format
N K a_1 : a_K
Output Format
Sample Input 1
10 2 1 1
Sample Output 1
55
Sample Input 2
1000000000 4 2015 2015 123456789 27
Sample Output 2
782767239