純粋数学、物理学、論理学(braingames.ru):貿易に関連しない頭脳ゲーム - ページ 213

 

プログラマー向けの問題(問題の重さは4)。

非常に長い文章の中でメガブレインは、すべての文字「A」を「B」に、すべての文字「B」を「A」に置き換える必要があります。テキストエディタでは、全文中の任意の文字集合を別の文字に置き換えることができます。 例えば、「AA」→「BSAA」と置き換えると、「AAAAAL」という文字列は「BSAABSAAL」となる。どのように課題をクリアしていくのか?

よくある質問(ウェブサイトより)。

Вы не знаете алфавита текстового редактора. Единственное, что вы знаете, это то, что он содержит символы "А" и "Б".

(数学からの説明:最初のフィールド(WHAT to replace)と2番目のフィールド(WHAT to replace)では、文字AとBしか使用できず、それ以外の文字は使用できません。スペースも使用できません:テキストとテキストエディターのアルファベットは私たちには未知です。なぜ、この重要な説明が問題文そのものから抜け落ちているのか、私にはまだ不明だが、残念ながらそうなっている)。

条件には明示されていませんが、AとB以外の文字は変更しないでくださいということだと解釈しています。これでよいのでしょうか?

はい。

非常に長いテキスト」とはどういう意味ですか?

1.すべての代入を手動で行うことはできません。
2.任意の文字列を出現させることができる。
3.メガブレインは、テキストの長さに匹敵する長さの配列を置換に使うことができない。

テキストエディタの「アーセナル」にテキストから欠落している文字がないか?

いいえ。

本文中で何度も変更することは可能ですか?

はい。

一部のシーケンスをスキップすることは可能ですか?例えば、「AA」→「BSAA」と置き換えると、「AAAAAL」という文字列が「BSAAAL」(つまり、2番目のシーケンスがスキップされた)に変更されます。

いいえ。

置き換えの際に正規表現(またはその対応するもの)を使用することはできますか?

いいえ。

この問題の解決策は、その意外性にショックを受けました(他の解決策も十分あり得ますが)。2年ほど前から解き始め、その後、1年半ほどマインドゲームから姿を消していました。数日前にもう一度見て、24時間ほど前に解決策をモデレーターに送りました。まだ返事は来ていませんが、100%間違いないと思います。このアルゴリズムは、テスト文字セットでテストされ、エラーは見つかりませんでした。

Задачи, загадки, логические игры [Игры разума] икф
  • www.braingames.ru
Мегамозгу в очень длинном тексте требуется заменить все буквы «А» на буквы «Б», а все буквы «Б» - на буквы «А». Текстовый редактор позволяет заменить во всём тексте один произвольный набор символов на другой. Например, в результате замены «АА»->«БСАА» строка «АААААЛ» перейдёт в строку «БСААБСАААЛ». Как ему выполнить задачу?
 
Mathemat:

プログラマー向けの問題(問題の重さは4)。

非常に長い文章の中でメガブレインは、すべての文字「A」を「B」に、すべての文字「B」を「A」に置き換える必要があります。テキストエディタでは、全文中の任意の文字集合を別の文字に置き換えることができます。 例えば、「AA」→「BSAA」と置き換えると、「AAAAAL」という文字列は「BSAABSAAL」となる。どうすれば、その課題をこなせるのか。

よくある質問(ウェブサイトより)。

この問題の解決策は、その意外性に衝撃を受けただけです(他の解決策にもかなり寛容ですが)。2年ほど前から解き始め、その後、1年半ほどマインドゲームから姿を消していました。数日前にもう一度見て、24時間ほど前に解決策をモデレーターに送りました。まだ返事は来ていませんが、100%間違いないです。このアルゴリズムは、テスト文字セットでテストされ、エラーは見つかりませんでした。

A->A、B->B、AA->B、B->Aはだめなんですか?
 
Avals:
A->A、B->B、AA->B、B->Aはだめなんですか?


できるけど、できない。

例えば、ここに「AAAAAAAAAAAAAABBBBB」というテキストがあり、その結果。"ああああああああああああああああああああああああああああああああああああああああああああああああああああああああ"

 
Mathemat:

プログラマー向けの問題(問題の重さは4)。

非常に長い文章の中でメガブレインは、すべての文字「A」を「B」に、すべての文字「B」を「A」に置き換える必要があります。テキストエディタでは、全文中の任意の文字集合を別の文字に置き換えることができます。 例えば、「AA」→「BSAA」と置き換えると、「AAAAAL」という文字列は「BSAABSAAL」となる。どのように問題を解決するのか?

よくある質問(ウェブサイトより)。

この問題の解決策は、その意外性に衝撃を受けただけです(他の解決策にもかなり寛容ですが)。2年ほど前から解き始め、その後、1年半ほどマインドゲームから姿を消していました。数日前にもう一度見て、24時間ほど前に解決策をモデレーターに送りました。まだ返事は来ていませんが、100%間違いないです。このアルゴリズムは、テスト文字セットでテストされ、エラーは見つかりませんでした。

4回の代入で解ける。

A -> AA

B→BAB

AA → B

BAB -> A

 
Contender:

4回の代入で解決。

A -> AA

B→BAB

AA → B

BAB -> A

確認しませんでしたが、この解答は解いた人のコメントで紹介されています。これが私の解決策です。

A -> AB
B→AB
AB -> B
AB → A

注:最初の2つの置換(正確にはその右側の部分)は形式的に同一である。

4手以内でできる人はいますか?

-----------------------------------------------------------------------------

ところで、この 問題はどうでしょう?

Задачи, загадки, логические игры [Игры разума] икф
  • www.braingames.ru
Перед вами на столе два тонкостенных непрозрачных сосуда кубической формы (без верхней грани) емкостью 4.096 и 8 литров. Как, имея неограниченный запас воды, быстро отмерить ровно 5 литров?
 
Mathemat:

目の前のテーブルには、容量が4.096リットルと8リットルの薄肉不透明な立方体の容器(上端がない)が2つ置かれている。水が無限にある中で、どうやって正確に5リットルを素早く測れるのか?

課題はここに ある。問題の重さは5です。

よくある質問

- 壁が非常に薄いため、体積は無視できるほど小さい。

- 4.096は1000分の4ホールと96分の1リットルのことで、正確には4.096。正確な5リットルは正確な5であって、例えば5.002リットルというようなことはない。

- 不透明とは、例えば、小さい立方体を大きい立方体に入れ、小さい立方体の端まで水を注ぐことができないことを意味します。不透明なため、十分な精度で行うことができません。

- fastは本当に速いです、かなり速いです。10段階判定は行われない。長すぎるのです。

厄介なもので、3つのステップで解決しました。

1) 大キューブに小キューブを入れ、大キューブの端まで埋める。今度は、水面が小さな立方体の縁に触れるように傾けてください。(うっかり水をこぼしすぎてしまった場合、多めにあげてください。)。


これでちょうど1リットルの水を注いだことになります。(セグメントの長さAB=5cmは、立方体の辺の大きさ(それぞれ20cmと16cm)から簡単に計算できます)。

小さなキューブを慎重に取り出し、大きなキューブにはすべての水(7リットル)を残します。

今度は、大きな立方体を傾けて、水が「斜め」の縁(水を注ぐ縁とは反対側)に触れるようにし、小さな立方体に水を注ぎます。

大きい方の立方体はちょうど半分の4リットル、小さい方の立方体は3リットル(=7リットル-4リットル)の体積を持つことになります。

大きな立方体に水を満たし、3リットルの水を入れた小さな立方体を慎重に置きます。 小さな立方体は3リットルより多いので、完全に沈むことはありませんが、大きな立方体から3リットルの水がなくなる程度です。 小さな立方体を取り出すと、大きな立方体はちょうど5リットル(8リットル-3リットル)必要だった量になっています。

 
Mathemat:

確認はしていませんが、決められた方のコメントでそのような解答が示されています。これが私の解決策です。

注:最初の2つの置換は形式的に同一である。

4手以内でできる人はいますか?

3つのグローバル置換では、許容されるアルファベットには存在するが、テキストには存在しないことが保証されている追加文字がある場合にのみ、解が可能となる。

この条件では、4つの手が最小であることが証明されます(ただし、面倒で冗長です)。:)

 
MetaDriver:

厄介なもので、私は3つのステップでやりました。

1) 小さなキューブを大きなキューブの中に入れ、大きなキューブの縁まで埋める。今度は、水面が小さな立方体の縁に触れるように傾けてください。(うっかり水をこぼしすぎてしまった場合、多めにあげてください。)。


これでちょうど1リットルの水を注いだことになります。(セグメントの長さAB=5cmは、立方体の辺の大きさ(それぞれ20cmと16cm)から簡単に計算できます)。

小さなキューブを慎重に取り出し、大きなキューブにはすべての水(7リットル)を残します。

今度は、大きな立方体を傾けて、水が「斜め」の縁(水を注ぐ縁とは反対側)に触れるようにし、小さな立方体に水を注ぎます。

大きな立方体にはちょうど半分の体積(4リットル)が、小さな立方体には3リットル(=7L-4L)が入ります。

次に、大きな立方体を目一杯、またはそれ以下に注ぎます。 小さな立方体に3リットルの水を慎重に入れます。 小さな立方体は3リットルより大きいので、完全に沈むことはありませんが、大きな立方体から3リットルの水がなくなる程度です。 次に小さな立方体を取り出します。 大きな立体には、必要だった5リットル(8リットル-3リットル)ちょうどが残っています。

最初のステップでは、2リットル注ぎます。)

0.05*0.2*0.2=0.002 м3

 
sanyooooook:

で、最初のステップでは2リットル注ぎます)

0.05*0.2*0.2=0.002 м3

また嘘ついてる;)

三角形ABCの面積=(0.05*0.2) ÷2

total: ((0.05*0.2) / 2) * 0.2 = 0.001 m^3

 
MetaDriver:

厄介な問題、3つのステップで解決しました。

1)大きなキューブに小さなキューブを入れ、大きなキューブの端まで埋める。今度は、水面が小さな立方体の縁に触れるように傾けてください。(うっかり水をこぼしすぎた場合は、補充してあげてください、多いので)。

オリジナルですが、不透明度に矛盾があるようです。また、傾けた大きなキューブを支柱なしで持つのは、そう簡単ではなく、二人がかりでないとできません。

次に、大きな立方体を傾けて、水の縁が「対角線」の縁(水が出る縁とは反対側)に当たるようにし、小さな立方体に水を注ぎます。

そして、ここでも似たようなデタラメがあり、特に小さいものに水を注いでいるのが特徴です。大きなものから小さなものへ、大きなものの縁を越えて水を注ぐのは、特別な工夫がないと難しい。

要するに、もっと短くてシンプルなソリューションがあるのです :)

MD: 3つのグローバル置換の場合、有効なアルファベットには存在するが、テキストには存在しないことが保証されている追加の文字がある場合にのみ解答が可能です。

この条件では4ストロークが最小となる。 これは証明できる(ただし、面倒で冗長)。:)

司会者は、Mind Games ではまだ誰も4手以内の解答を提供していないと主張する。(以下、問題を提案したのは私ではなく、あくまで当サイトのエンジンの自動化です)

Задачи, загадки, логические игры [Игры разума] икф
  • www.braingames.ru
У Мегамозга нашли страшную болезнь. Доктор выписал ему всего 4 таблетки двух видов (по две каждого вида), совершенно не отличимых друг от друга, и предупредил, что, если выпить более одной таблетки одного вида — смерть, не выпить таблеток — смерть, выпить за раз меньше нормы — смерть. Таблетки надо принять за два приема: утром — 2 таблетки (по...