Discuss Scratch

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

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

時間制限∞ってありですか?
Poteto143
Scratcher
1000+ posts

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

hhayyatto wrote:

時間制限∞ってありですか?
実行時間制限をなしにした場合、「いつまでも処理は終わらないけど答えは理論上出るぞ!」のような、正誤を判断し難い状況になりうるため不可とします。

追記: 設定できる実行時間制限の上限は30秒とします。

Last edited by Poteto143 (April 13, 2021 10:16:01)

hhayyatto
Scratcher
1000+ posts

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

分かりました。
NT_ZZzz
Scratcher
100+ posts

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

sousi02さん Accepted 正解です (#14エンギイイナンバーEASY FA!)
問題自体のFAはHARD正解者にあげたい
00giriさん Accepted #14エンギイイナンバーEASY正解です
yuikunyeahさん Accepted #14エンギイイナンバーEASY正解です だけど…すごくもやもやする

HARDはEASYよりだいぶ難しいはずです

Last edited by NT_ZZzz (April 13, 2021 14:07:16)

osarusann-ukiki
Scratcher
4 posts

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

NT_ZZzz wrote:

出題します
エンギイイナンバー 実行時間制限: 5秒
10進法自然数のうち各桁の数字に'4'と'9'を含まない数を「エンギイイナンバー」とします。
N番目に小さな「エンギイイナンバー」を求めてください
制約
この問題は2つの難易度に分かれています
EASY 1 ≦ N ≦ 1000
HARD 1 ≦ N ≦ 1000000000000000(=10^15)
結果例
n=1 のとき 1
n=5 のとき6
n=10 のとき 12
n=1041 のとき 2021
(エンギイイナンバーは小さい順に 1,2,3,5,6,7,8,10,11,12,13,15…となります)
ミス等あれば指摘お願いします

https://scratch.mit.edu/projects/515403207/  どうですか?

Last edited by osarusann-ukiki (April 17, 2021 03:35:08)

NT_ZZzz
Scratcher
100+ posts

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

osarusann-ukikiさん Accepted #14エンギイイナンバーHARD正解です
FA!すごい!

ところで想定解・解説とかはいつ公開したらいいのでしょうか。ACが出たのでもう公開しても大丈夫だとは思うのですが。
Poteto143
Scratcher
1000+ posts

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

お知らせ
問題投稿時のルールに以下を追記しました。
・いかなる問題でも実行時間制限を必ず決めてください。
 また、30秒より長い時間の設定は禁止します。(そこまで時間がかかるような問題は恐らくここの利用者には難しすぎる)
・自分の問題に解答が付いた場合は自分で正解不正解を伝えて下さい。
・問題の解答と解説については好きなタイミングで投稿してもかまいませんが、ある程度問題投稿が流れてからにしてください。
NT_ZZzz
Scratcher
100+ posts

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

出題します
おもり作り 実行時間制限: 5秒
あなたは以下の条件を満たす10個のおもりを作らなければなりません。
・10個のおもりのうちいくつか(1個や10個でも良い)を適切に用いることでA以上B以下の全ての整数の重さにすることができる
・それぞれのおもりの重さは正整数
・それぞれのおもりの重さは10^9以下
それぞれのおもりの重さを求めてください。
制約
1 ≦ A ≦ B ≦ 100000000(=10^8)
B ≦ A+500
A,Bは正整数
この制約下で解が存在することは証明されます。
注意
この問題には複数の解があります。どのような解でも条件を満たしていれば正解と判定します。
10個の整数を出力するため、リストを用いたほうが良いです。
結果例
入力:A=10,B=20
出力例:1 2 3 4 5 6 7 8 9 10
適切におもりを組み合わせることで 10,11,12,13,14,15,16,17,18,19,20の全ての重さにすることができます

入力:A=1,B=10
出力例:1 1 1 1 1 1 1 1 1 1
適切におもりを組み合わせることで 1,2,3,4,5,6,7,8,9,10の全ての重さにすることができます。
他に 1 2 3 4 5 6 7 8 9 10 などの出力も条件を満たすため正解と判定されます。
2 3 4 5 6 7 8 9 10 11は重さを1にすることができないため不正解です。

入力:A=10000,B=10010
出力例:1 2 3 4 5 6 7 8 1000 9000

正誤判定機の存在
この問題は手計算での正誤判定が難しいと思われるので正誤判定機を用意しています。
入力と解答を入力すると正誤判定が行われるので回答の参考にしてください。
正誤判定機 https://scratch.mit.edu/projects/515665725/
00giri
Scratcher
1000+ posts

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

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

Last edited by 00giri (July 24, 2022 01:14:08)

NT_ZZzz
Scratcher
100+ posts

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

00giriさん Wrong Answer #28おもり作り 不正解です
00giri
Scratcher
1000+ posts

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

#30
申し訳ございません。入力ミスがあったので修正しました。もう一度判定をお願いします。

Last edited by 00giri (April 16, 2021 10:34:24)

Poteto143
Scratcher
1000+ posts

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

#14
エンギイイナンバーHardの回答です。
https://scratch.mit.edu/projects/516548374/
Yuulis
Scratcher
56 posts

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

面白そうなのでやってみます。

Caesar 実行時間制限:2秒

長さNの暗号(文字列)Sがあります。ある数字pが与えられるので、暗号解読班のあなたはSをpの数だけアルファベット順で左にずらした文字列S'を上司に提出してください。

制約
・1≦N≦100
・S:アルファベットの小文字を組み合わせたもの
・1≦p≦100
入力は以下のように与えられる。

入力 wrote:

N:変数Nに格納
S:変数Sに格納
p:変数pに格納

出力は文字列S'を変数S'に格納せよ。

結果例

入力 wrote:

N=5
S=khoor
p=3

出力 wrote:

S'=hello
khoorの各文字を左に3ずらすと、k=h, h=e, o=l, r=oですから、helloとなります。

入力 wrote:

N=3
S=ecv
p=28

出力 wrote:

S'=cat
sousi02
Scratcher
100+ posts

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

00giri
Scratcher
1000+ posts

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

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

Last edited by 00giri (July 24, 2022 01:16:03)

Yuulis
Scratcher
56 posts

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

sousi02 wrote:

#33
作りました

Accepted! FAです。
Yuulis
Scratcher
56 posts

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

00giri wrote:

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

Accepted!
Yuulis
Scratcher
56 posts

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

第二問

Draw On The List 実行時間制限:3秒

リストcanvasの中に、縦H、横Wの“#”と“.”が交互になる模様を出力してください。
ただし、模様の左上は必ず“#”にしてください。

制約
・0<H,W≦1000

入力
入力は以下のような形で与えられる。

入力 wrote:

定義 Input
[H] と聞いて待つ
[H v] を (答え) にする
[W] と聞いて待つ
[W v] を (答え) にする

出力
リストcanvasに模様を出力せよ。

結果例

入力 wrote:

H = 5
W = 5

出力(canvs内) wrote:

#.#.#
.#.#.
#.#.#
.#.#.
#.#.#
模様の左上は必ず“#”です。

入力 wrote:

H = 4
W = 1

出力(canvs内) wrote:

#
.
#
.
yukku
Scratcher
1000+ posts

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

Yuulis
Scratcher
56 posts

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

yukku wrote:

#38
作りました。
Accepted! FAです。
  • Discussion Forums
  • » 日本語
  • » Scratchで競技プログラミング!(初めての人は最初の投稿をお読みください) [RSS Feed]

Powered by DjangoBB