Discuss Scratch

  • Discussion Forums
  • » 日本語
  • » Scratchで競技プログラミング!(初めての人は最初の投稿をお読みください) [RSS Feed]
osarusann-ukiki
Scratcher
4 posts

Scratchで競技プログラミング!(初めての人は最初の投稿をお読みください)

Yuulis wrote:



#80 どうですか https://scratch.mit.edu/projects/518317010/

Last edited by osarusann-ukiki (April 20, 2021 11:31:00)

00giri
Scratcher
1000+ posts

Scratchで競技プログラミング!(初めての人は最初の投稿をお読みください)

#80への回答です。
https://scratch.mit.edu/projects/705798645/

Last edited by 00giri (June 16, 2022 02:59:35)

Yuulis
Scratcher
56 posts

Scratchで競技プログラミング!(初めての人は最初の投稿をお読みください)

osarusann-ukiki wrote:

Yuulis wrote:



#80 どうですか https://scratch.mit.edu/projects/518317010/

WA(wrong answer)です…
ひし形の部分を見直してみてください。
Yuulis
Scratcher
56 posts

Scratchで競技プログラミング!(初めての人は最初の投稿をお読みください)

00giri wrote:

#80への回答です。
https://scratch.mit.edu/projects/518304158/

AC!
FAです!!
watashida
Scratcher
500+ posts

Scratchで競技プログラミング!(初めての人は最初の投稿をお読みください)

robot simulation 実行時間制限: 30秒? (暫定) 少し難しい問題です
数直線上に N 個のロボットがいて、ゴールが座標 0 と座標 T にあります。
一番最初の状態(0秒後)には、i 番目のロボットは座標 Pi にあり向いている方向 Di は左(座標が減る方向)または右(座標が増える方向)です。
ここから 1 秒ごとに各ロボットは向いている方向に座標 1 進み、最終的にどちらかのゴールの座標にたどり着くことが目的です。
ただしある時刻で二つのロボットが同じ座標にあった場合、二つのロボットは衝突し、それぞれ現在の方向の逆を向きます。
各々のロボットが何秒後にゴールにたどり着くか求めてください。

制約
easy
1 ≦ N ≦ 50
1 ≦ T ≦ 150
1 ≦ P1 < P2 < P3 < … < PN ≦ T-1
Pi は偶数 (追加)
Di = 「左」 または 「右」
入力はD以外すべて整数

hard
1 ≦ N ≦ 50000
1 ≦ T ≦ 1000000000 = 10^9
1 ≦ P1 < P2 < P3 < … < PN ≦ T-1
Pi は偶数 (追加)
Di = 「左」 または 「右」
入力はD以外すべて整数

結果例
N = 3
T = 10
(P1, P2, P3) = (4, 6, 8)
(D1, D2, D3) = (右, 左, 左)

1 秒後
(P1, P2, P3) = (5, 5, 7) となり、1 番目と 2 番目のロボットが衝突するので、それぞれ「左」「右」に方向を変えます。
2秒後
(P1, P2, P3) = (4, 6, 6) となり、 2 番目と 3 番目のロボットが衝突するので、それぞれ「左」「右」に方向を変えます。
6秒後
(P1, P2, P3) = (0, 2, 10) となり、1 番目と 3 番目のロボットがゴールにつきます。
8秒後
(P1, P2, P3) = (-2, 0, 12) となり、 2 番目のロボットがゴールにつきます。

よって求める答えは (6, 8, 6) です。

入力生成器

Last edited by watashida (April 21, 2021 10:18:41)

Doctor_Fe
Scratcher
100+ posts

Scratchで競技プログラミング!(初めての人は最初の投稿をお読みください)

#80に回答させていただきます。

https://scratch.mit.edu/projects/518297297/
NT_ZZzz
Scratcher
100+ posts

Scratchで競技プログラミング!(初めての人は最初の投稿をお読みください)

ナベアツアツ数 実行時間制限: 10秒 この問題は、多分割と難しいです
10進法自然数のうち 33の倍数である または 数字を文字列として見たときに“33”を含む 数を「ナベアツアツ数」とします
Nが何番目に小さいナベアツアツ数か求めてください

制約
この問題は2つの難易度に分かれています
EASY
1 ≦ N ≦ 1000
HARD
1 ≦ N ≦ 1000000000000000 (=10^15)

Nは正整数である

出力
Nが ナベアツアツ数 で無ければ -1
Nが a番目のナベアツアツ数 であれば a を出力してください

結果例
N=33 のとき 1
N=99 のとき 3
N=133 のとき 5
 ナベアツアツ数は小さい順に 33,66,99,132,133,165…となります
N=135 のとき -1
 135はナベアツアツ数ではありません
N=33150 のとき 2021
N=998244335 のとき 99739521
N=999999999999990 のとき 148261732462721

解説はこちら

Last edited by NT_ZZzz (July 11, 2021 14:11:19)

00giri
Scratcher
1000+ posts

Scratchで競技プログラミング!(初めての人は最初の投稿をお読みください)

#87 Easyへの回答です。
https://scratch.mit.edu/projects/705797770/

Last edited by 00giri (June 16, 2022 02:55:58)

watashida
Scratcher
500+ posts

Scratchで競技プログラミング!(初めての人は最初の投稿をお読みください)

00giri
Scratcher
1000+ posts

Scratchで競技プログラミング!(初めての人は最初の投稿をお読みください)

#85への回答です()Easy&Hard。
https://scratch.mit.edu/projects/705798123/

Last edited by 00giri (June 16, 2022 02:57:52)

watashida
Scratcher
500+ posts

Scratchで競技プログラミング!(初めての人は最初の投稿をお読みください)

00giri wrote:

#85への回答です()Easy&Hard。
https://scratch.mit.edu/projects/518795682/
残念ながら、不正解です
N = 3、T = 15で
P = (4, 8, 14)
D = ( 右, 右, 左)
の時
ans = (14, 17, 7)
と出力されますが、正確には
ans = (14, 11, 7)
です

また、hardの時には実行時間を超えてしまいます
もう少し頑張ってみてください
NT_ZZzz
Scratcher
100+ posts

Scratchで競技プログラミング!(初めての人は最初の投稿をお読みください)

00giriさん #87 ナベアツアツ数EASY Accepted! 正解です
Yuulis
Scratcher
56 posts

Scratchで競技プログラミング!(初めての人は最初の投稿をお読みください)

Doctor_Fe wrote:

#80に回答させていただきます。

https://scratch.mit.edu/projects/518297297/
WAです…
roundのところをもう一度見直してみてください。三角関数は使わなくても解けます。
00giri
Scratcher
1000+ posts

Scratchで競技プログラミング!(初めての人は最初の投稿をお読みください)

#91
修正しました。これでEasyは行けると思います。
watashida
Scratcher
500+ posts

Scratchで競技プログラミング!(初めての人は最初の投稿をお読みください)

#94
easyはACだと思います
hardも挑戦してみてください
Yuulis
Scratcher
56 posts

Scratchで競技プログラミング!(初めての人は最初の投稿をお読みください)

watashida wrote:

問題略
質問ですが、ゴールにすでに達しているロボットと別のロボットが同じ座標に来た時も左右反転するんですよね?
Yuulis
Scratcher
56 posts

Scratchで競技プログラミング!(初めての人は最初の投稿をお読みください)

watashida wrote:

問題略

easyに回答です。 https://scratch.mit.edu/projects/518978350/
hardはN ≦ 50000の壁が…
NT_ZZzz
Scratcher
100+ posts

Scratchで競技プログラミング!(初めての人は最初の投稿をお読みください)

#85 robot simulation に解答します
https://scratch.mit.edu/projects/519037233/
Doctor_Fe
Scratcher
100+ posts

Scratchで競技プログラミング!(初めての人は最初の投稿をお読みください)

https://scratch.mit.edu/projects/518904967/

#85に解答させていただきます。
watashida
Scratcher
500+ posts

Scratchで競技プログラミング!(初めての人は最初の投稿をお読みください)

Yuulis wrote:

質問ですが、ゴールにすでに達しているロボットと別のロボットが同じ座標に来た時も左右反転するんですよね?
実はそのようなことは発生しません

Yuulis wrote:

easyに回答です。 https://scratch.mit.edu/projects/518978350/
hardはN ≦ 50000の壁が…
P = (2,4,8)
D = (右,左,左)
のとき
(4,8,8)ですが(8,4,8)と出力されます

NT_ZZzz wrote:

#85 robot simulation に解答します
https://scratch.mit.edu/projects/519037233/
easy,hardともにACです!
hardのFAおめでとうございます

Doctor_Fe wrote:

https://scratch.mit.edu/projects/518904967/

#85に解答させていただきます。
ACです!

Last edited by watashida (April 21, 2021 22:53:26)

  • Discussion Forums
  • » 日本語
  • » Scratchで競技プログラミング!(初めての人は最初の投稿をお読みください) [RSS Feed]

Powered by DjangoBB