あまちゅあごるふぁ〜まさる
2^7+2*2^6+3*2^5+4*2^4+5*2^3+6*2^2+7*2^1+8=502

これでいいんかな・・・
神戸   6月15日(木) 0:09:50   MAIL:top-amateur@u01.gate01.com   27592
トトロ@N
久々のリアルタイムです。
1*128+2*64+3*32+4*16+5*8+6*4+7*2+8*1=128
兵庫県明石市   6月15日(木) 0:11:18     27593
ミキティ
#27592 の通りですね。

│ │ │ │ │ │ │ │ │ │ │
┣━╋━╋━╋━╋━╋━╋━╋━╋━╋━┫
│ │ │ │ │ │ │ │ │ │ │
1─2─3─4─5─6─7─8─9─┼─┤
│ │ │ │ │ │ │ │ │ │ │
└─1─1─1─1─1─1─1─1─┴─┘
A B C D E F G H I J K

A列から道路に行く場合、残り70mなので、1×2^7
B列から道路に行く場合、残り60mなので、2×2^6
C列から道路に行く場合、残り50mなので、3×2^5
……
よって、
1×2^7+2×2^6+3×2^5+4×2^4+5×2^3+6×2^2+7×2^1+8×2^0=502.
   6月15日(木) 0:11:59     27594
みかん
全事象…2^10=1024通り をあらかじめ計算した上で、
100mになる地点ごとに「赤線を通らない場合」を計算。

1024−(1+9+36+84+126+126+84+36+9+10+1)
=1024−522
=502通り
   6月15日(木) 0:12:28     27595
Taro
はじめは右上まで行くものと考えてました(汗)

#27592#27594と同様に解きました。
じたくぅ   6月15日(木) 0:13:24     27596
数楽者
赤線を歩いた最初の10mを取り除くと、90m歩く問題になります。
条件を満たさないものは、北方向に歩く距離が10m以下の10通りなので、
答えは 512-10=502 です。
横浜   6月15日(木) 0:16:49   MAIL:iida@ae.keio.ac.jp   27597
吉川 マサル
んと、想定していた解法は、

(2^10 - 20)÷2=502

ってな感じです。どうでしょう?
PowerBook G4   6月15日(木) 0:17:21   MAIL:masaru-y@san su.org HomePage:算チャレ  27598
<Melvy>
赤線を通らない場合について,どこで赤線をまたぐか (あるいはまたがないか) で分類.

1024-(2^7+2×2^6+3×2^5+4×2^4+5×2^3+6×2^2+7×2+8+9+10+1)
=1024-522
=502

で,案の定 522 を送ってしまったわけで (汗).ケアレスミス多すぎ….
   6月15日(木) 0:18:35   HomePage:ある大学院生<Melvy>の日記  27599
kasama
import java.util.*;
public class Question505 {
 private static int count = 0;
 public static void main(String args[]) {
  scan(0, 0, 0, new ArrayList());
  System.out.println(count);
 }
 private static final void scan(int p, int x, int y, List list) {
  list.add(new Integer(y));
  if (p >= 100) {
   for (int i =0; i < list.size()-1;++i)
    if (((Integer) list.get(i)).intValue() == 20 &&
     ((Integer) list.get(i+1)).intValue() == 20) {
     ++count;
     break;
    }
   return;
  }
  scan(p+10, x+10, y, new ArrayList(list));
  scan(p+10, x, y+10, new ArrayList(list));
 }
}
   6月15日(木) 0:28:51     27600
ヘラクレス辻。
#27599とまったく同じく力ずくで解きました。
第参新埼玉市   6月15日(木) 0:29:22   HomePage:ドンピシャ  27601
かっくん
力ずくで解いていたら、皆さんが書き込まれている
1×8+2×7+4×6+8×5+16×4+32×3+64×2+128×1
という式が得られました。

   6月15日(木) 0:51:31     27602
枝葉図を書いて
255+127+63+31+15+7+3+1=502と出した。僕も力ずくです。/('x')\
   6月15日(木) 1:27:49     27603
ノボケイン
#27592 の通り。
   6月15日(木) 2:47:12     27604
圭太
おはようございます。
以前にも、似たようなものでましたね。
あれの応用です。^^;
アルビレックス   6月15日(木) 6:12:33   HomePage:圭太の研究所  27605
fumio
おはようございます。
   6月15日(木) 7:54:25     27606
hidy
おはようございます。
1024から赤道を歩かない場合を引いて求めました。
簡単なやり方があるんですね。
福岡   6月15日(木) 8:52:17   HomePage:hidy先生の算数教室  27607
uchinyan
はい、おはようございます。今回の問題は、過去に似た問題があったような気がします。
まず、100m 進むのは、100/10 = 10ます 進むことなので、その終点は、10 * 10 の正方形の真北から真東への対角線上の格子点になります。
また、一回に、北又は東にしか進まないので、これは、2^10 通りです。これから、赤い部分を通らないものを引きます。
まず、赤の下の二つの終点は、赤い部分を通りません。これは、10 + 1 = 11 通り。
次に、残りの8個の終点は、赤い部分に南から来て止まるか(終点の場合)、北へ上がるかが、赤い部分を通りません。
これは、ます目を南北に一つ減らすことと同じです。その場合の赤線をよぎらない 1 通りを除いて、2^9 -1 通り。
したがって求めるのは、2^10 - 11 - (2^9 - 1) = 2^9 - 10 = 512 - 10 = 502 通りになります。
ネコの住む家   6月15日(木) 9:03:59   MAIL:uchi@sco.bekkoame.ne.jp   27608
スモークマン
やっとできた。。。(^^;
地道に・・・
1*2^6+(1+2)*2^5+(1+2+3)*2^4+(1+2+3+4)*2^3+(1+2+3+4+5)*2^2+(1+2+3+4+5+6)*2+(1+2+3+4+5+6+7)*1+(1+2+3+4+5+6+7+8)=64+96+96+80+60+42+28+36=502

最初、uchinyanさんのように考えたんですが、、、計算間違ったのかな〜、入れなくって。。。(^^;
金光   6月15日(木) 11:41:27   MAIL:kennji72001@yahoo.co.jp   27609
迷子の雄猫
北に2回歩いた直後は必ず東に歩く、と考えて
A回東、1回北、B回東、1回北、1回東、C回東か北のどちらか=2のC乗通り
A+B+C=7、ABCすべて0以上
という条件で全部羅列しました。力任せだなあ。
   6月15日(木) 12:31:17     27610
uchinyan
一応、掲示板を読みました。

まず、私の#27608に、ちょっと補足。
>次に、残りの8個の終点は、赤い部分に南から来て止まるか(終点の場合)、北へ上がるかが、赤い部分を通りません。
>これは、ます目を南北に一つ減らすことと同じです。その場合の赤線をよぎらない 1 通りを除いて、2^9 -1 通り。
分かると思いますが...
これは、ます目一つ分だけ常に南から北へと移動するので、「ます目を南北に一つ減らす」場合と同じ場合の数になります。
そしてこれは、ます目移動が一つ減るので、9 * 9 の正方形で赤い部分が一つ下がったものになり、
赤い部分を「よぎらない 1 通りを除いて、2^9 -1 通り」になります。

さて、皆さんの解法です。

#27592, #27593, #27594, #27596, #27602, #27604
南から赤い部分に来た後で、赤い部分を西から東へと少なくとも一ます移動する、ことに注目して、
真面目に一つずつ計算した解法ですね。

#27595
考え方は、私の#27608と同じだと思います。#27608との違いは、括弧の中をどう計算したかでしょうか。
ここらは、始点から各終点までの場合の数を真面目に数えると
(10C2 - 9C1) + (10C3 - 9C2) + (10C4 - 9C3) + (10C5 - 9C4) + (10C6 - 9C5) + (10C7 - 9C6) + (10C8 - 9C7) + (10C9 - 9C8) + (10C10 - 9C9)
なのです。
これから、
(10C0 + 10C1 + 10C2 + 10C3 + 10C4 + 10C5 + 10C6 + 10C7 + 10C8 + 10C9 + 10C10)
- (9C0 + 9C1 + 9C2 + 9C3 + 9C4 + 9C5 + 9C6 + 9C7 + 9C8 + 9C9) - 10C1
としておいて、二項定理を使って、
2^10 - 2^9 - 10
とすれば、これは、#27608です。
一方、
(10C0 + 10C1 + 10C2 + 10C3 + 10C4 + 10C5 + 10C6 + 10C7 + 10C8 + 10C9 + 10C10)
- (9C0 + 9C1 + 9C2 + 9C3 + 9C4 + 9C5 + 9C6 + 9C7 + 9C8 + 9C9 + 10)
としておいて、最初の項だけに二項定理を使って、
1024 - (1 + 9 + 36 + 84 + 126 + 126 + 84 + 36 + 9 + 1 + 10)
とすれば、これは、#27595になります。

#27597
なるほど。これはうまいなぁ。私流の言い方だと...
少なくとも、赤い部分のます目一つを通るので、ます目を東西に一つ減らす場合と同じ場合の数になり、
9 * 9 で赤い部分の位置は変わらない場合で、赤い部分を全く通らない 9 + 1 = 10 通りを除いて、2^9 - 10 = 502 通り。
この方が、ずっと簡単ですね。

#27598
うーん、2 で割ると、#27597と同じだから、正しいとは思うのですが、直接の式の意味はよく分からないです ^^;
2 で割るのだから、対称性か1:1対応か、何かだろうなぁ...
お、そうか、次の#27599などと#27594などとの比較から分かりました。次の#27599などの考察も参照してください。
除くべき赤い部分を南から北へ横切る場合の数と、赤い部分を西から東へと少なくとも一ます移動する場合の数とは一致します。
しかし、除くべきものは、赤い部分を南から北へ横切らないものもありまず。
これは、赤い部分で止まる 9 通りと、赤い部分にとどかない 10 + 1 = 11 通りで、合計 20 通り。
そこで、求める場合の数は、全体 2^10 通りからこの差を引いて半分にすればいいから、
>(2^10 - 20)÷2=502
というわけでしょうか。
でも、ちょっと難しいかなぁ。私は、#27597の方が好きかなぁ。

#27599, #27601
なるほど。#27595や私の#27608と同じ方向の解法ですが、除く場合の数の計算の仕方の更なる別バージョンですね。
赤い部分を南から北へとまたぐことに注目した点は、私の#27608に近く、それを真面目に計算した解法だと思います。
除く部分の計算式の一部、赤い部分を南から北へまたぐ場合の数、が、#27594などの計算式と一致する点が面白いです。

#27600
プログラム。初学者には、ちょっとした練習問題でしょうか。

#27603
系統樹ですか。場合の数の正統派ですね。ただ、
>255+127+63+31+15+7+3+1=502
この式の左辺は、
(2^6 - 10) + (2^7 - 1) + (2^6 - 1) + (2^5 - 1) + (2^4 - 1) + (2^3 - 1) + (2^2 - 1) + (2^1 - 1)
と規則的なので、系統樹にしても、何かありそうですね。

#27605
>以前にも、似たようなものでましたね。
確かにありましたよね。

#27607
考え方は、#27595, #27599, #27601, 私の#27608のどれかのようです。
>簡単なやり方があるんですね。
#27597かな? #27598かな?

#27609
赤い部分を
一番左から一ます目だけを通る:1*2^6
一番左から二ますを通る+一番左から二ます目だけを通る:(1+2)*2^5
一番左から三ますを通る+一番左から二ます目から二ますを通る+一番左から三ます目だけを通る:(1+2+3)*2^4
...
と計算しているようです。
ただ、#27594などの方が簡単かな。

#27610
条件を絞り込んでのしらみつぶしでしょうか。でも、系統樹と同様に、最終手段ですよね。
(少し追加)
済みません。間違えたようです。
この解法は、結局、#27594などと同じになるようです。
ネコの住む家   6月15日(木) 21:15:51   MAIL:uchi@sco.bekkoame.ne.jp   27611
しんちゃん
格子点の座標を左下を(0,0)、右上を(10,10)とすると、

 (0,0) を出発して 10目盛り進む進み方は、2^10 通りあります。
 このうち、到達点が (10,0) になるのは 1通り
           ( 9,1) になるのは 10通り
  ( 8,2) になるのは 9通り あります。
 残りの、(2^10−20)通りは、赤線上に到達して、さらに進みます。
   
   このとき、到達した赤線上の点から右に進む場合と、上に進む
   場合がありますが、どこの赤線上の点に到達した場合も、右に
   進む進み方の場合の数と、上に進む進み方の場合の数は等しく
   なります。
    
 今は、右に進む場合の数を求めれば良いので、
     (2^10−20)の ちょうど半分ということになります。
結局、(2^10−20)÷2=502(通り)

   6月15日(木) 22:28:56     27612
uchinyan
#27612
これは、マサルさんの#27598の式、#27611のその解釈#27598の項、と同じですね。
ネコの住む家   6月15日(木) 22:31:45   MAIL:uchi@sco.bekkoame.ne.jp   27613
jun
やっと解けました。
   6月16日(金) 2:35:04   MAIL:juun2000@hotmail.com   27614
ハラギャーテイ
おはようございます

MATLABプログラムです。
北九州   6月16日(金) 9:02:40   HomePage:信号処理に挑戦  27615
???
Option Explicit
Sub Macro1()
Sheets("Sheet1").Select
Cells(1, 1).Value = 0
Range("A1").Select
Dim a(10) As Integer
Call saiki(1, a())
Range("A1").Select
End Sub
Sub saiki(ByVal n As Integer, ByRef a() As Integer)
a(n) = 1 '1:→, 2:↑
While a(n) <= 2
If n < 10 Then
Call saiki(n + 1, a())
Else
Call check(a())
End If
a(n) = a(n) + 1
Wend
End Sub
Sub check(ByRef a() As Integer)
Dim x As Integer
Dim y As Integer
Dim tootta As Integer
Dim j As Integer
x = 0
y = 0
tootta = 0
j = 1
While tootta = 0 And j <= 10
If y = 2 And a(j) = 1 Then
tootta = j
Else
If a(j) = 1 Then
x = x + 1
Else
y = y + 1
End If
j = j + 1
End If
Wend
If tootta > 0 Then
Cells(1, 1).Value = Cells(1, 1).Value + 1
x = 0
y = 0
For j = 1 To 10
If a(j) = 1 Then
x = x + 1
Else
y = y + 1
End If
Cells(Cells(1, 1).Value, j + 1).Value = direction(a(j)) + ":(" + strr(x) + "," + strr(y) + ")"
If y = 2 And a(j) = 1 Then
Cells(Cells(1, 1).Value, j + 1).Value = Cells(Cells(1, 1).Value, j + 1).Value + "*"
End If
Next j
Range("B" & Cells(1, 1).Value).Select
End If
End Sub
Private Function direction(ByVal n As Integer) As String
If n = 1 Then
direction = "東"
Else
direction = "北"
End If
End Function
Private Function strr(ByVal n As Integer) As String
strr = Right(Str(n), Len(Str(n)) - 1)
End Function
   6月17日(土) 9:16:21     27616