|
な |
| 分からん |
|
2月17日(木) 0:13:22
24530 |
|
呑 |
| え?なんではいれるの? |
|
酔っぱらい天国
2月17日(木) 0:16:55
MAIL:hopes@mba.ocn.ne.jp HomePage:HOPES 24531 |
|
mhayashi |
|
#24531
認証させない対策?いじわるぅ |
|
関西
2月17日(木) 0:19:11
HomePage:M.Hayashi's Web Site 24532 |
|
な |
| 何か勘違いしてるのかなぁ |
|
2月17日(木) 0:23:15
24533 |
|
吉川マサル |
|
いま帰宅途中の電車内です。
混んでてPowerBookが出せなくてパスワードの更新ができません。すいたら更新しますので少々お待ちを |
|
2月17日(木) 0:30:15
24534 |
|
吉川 マサル |
| 結局社内でPowerBookは出せませんでした。というわけで、パスワード更新が大幅に遅れましたことをお詫びいたします。m(__)m |
|
MacOS X
2月17日(木) 0:51:32
MAIL:masaru-y@kt.rim.or.jp HomePage:算チャレ 24535 |
|
tomh |
|
あ、入れた。 (^.^)
てことは、447通りで正解なのかな。 手計算で数えたらできなかったので、 結局、プログラム組んで数えました。 (^^; |
|
新潟市
2月17日(木) 0:55:50
MAIL:tomh@yahoo.co.jp HomePage:H to M 24536 |
|
呑 |
|
ドンマイ!でも忙しいので酒ね。
それと東京の電車は夜中でも混んでいるのですね。大変ですね。 (by奈良の田舎もの) でも、認証できればこっちのもんだ〜! |
|
酔っぱらい天国
2月17日(木) 0:56:32
MAIL:hopes@mba.ocn.ne.jp HomePage:HOPES 24537 |
|
weapon |
| (2^7+2^7+2^7+2^7)-(2^2+2^2+2^4+2^4+2^4+2^4)+(2+2+2+2)-1=447 |
|
2月17日(木) 1:04:46
24538 |
|
weapon |
| (2^7+2^7+2^7+2^7)-(2^2+2^2+2^4+2^4+2^4+2^4)+(2+2+2+2)-1=447 |
|
2月17日(木) 1:06:12
24539 |
|
みかん |
|
エクセルの行間を調節してマス目を作り、ひたすら塗りこみ。
左上の9マスが塗られる場合を全て書き出して、あとはひたすら 回転させた時を考えて4・2・1通りと数をふっていきました。 すご〜くつかれました(汗)。こんなの試験で出たら絶対捨て問題だよな。 |
|
算数好きの溜まり場
2月17日(木) 1:07:19
24540 |
|
あ〜く@ジューク |
|
左上に出来る正方形をA、右上をB、左下をC、右下をDとする。
ここで出来る模様のうちA,B,C,DのうちXだけ含む場合をN(X)とすると、 例えば(Dを含む場合の数)=N(D)+N(A,D)+・・・+N(A,B,C,D)=2^7 N(A,D)=1、N(B,D)=N(C,D)=2^4-3、N(A,B,D)=N(A,C,D)=N(B,C,D)=N(A,B,C,D)=1 なのでN(D)=128-(27+3+1)=97 よって求める答えは N(正方形1つ)+N(正方形2つ)+N(正方形3つ)+N(正方形4つ) =97*4 + (1+13*2)*2 + 1*4 +1 =447 この計算をやっている途中何回も数え間違いを起こしました・・・ こういう問題が得意な人って慎重な人だよな、とか勝手に妄想しちゃいます。 私は大変大雑把な人間であるゆえ・・・ |
|
未完成の蜜柑星
2月17日(木) 1:12:16
MAIL:ishizaki@qa.so-net.ne.jp 24541 |
|
圭太 |
|
回転して同じなのを含めるのか?で悩みました。
一言あっても良いかな?^^; |
|
米所〜♪
2月17日(木) 1:19:48
HomePage:圭太の研究所@いれこみくん!&役満縛り〜♪ 24542 |
|
万打無 |
|
左上に指定された正方形ができる場合をA
左下に指定された正方形ができる場合をB 右上に指定された正方形ができる場合をC 右下に指定された正方形ができる場合をD とする。 AかつBかつCかつD(今後ABCDと表記、書かれていないのは含まない)の場合は1通り(2^0) ABCの場合は1通り(2^1-1)[ABCを含む組み合わせから、すでに示された組み合わせ(この場合ABCD)を差し引く] ABD・ACD・BCDの場合も同様にそれぞれ1通り ACの場合は13通り(2^4-1-1×2)[ACを含む組み合わせから、すでに示された組み合わせ(この場合ABCD・ABC・ACD)を差し引く] AC・BD・CDの場合も同様にそれぞれ13通り ADの場合は1通り(2^2-1-1×2)[ADを含む組み合わせから、すでに示された組み合わせ(この場合ABCD・ABD・BCD)を差し引く] BCの場合も同様に1通り Aの場合は97通り(2^7-1-1×3-13×2-1)[Aを含む組み合わせから、すでに示された組み合わせ(この場合ABCD・ABD・ACD・BCD・AB・AC・AD)を差し引く] B・C・Dの場合もそれぞれ97通り 組み合わせは以上で全部であり、互いに重複しないのですべての組み合わせはその合計となる。 1+1×4+13×4+1×2+97×4=447 よって、全部で447通り |
|
2月17日(木) 1:27:40
24543 |
|
ponta55555 |
|
みなさまお疲れ様です
( (2^3-1)^2 + (2^3 x 2^3-7-7-1-1) ) x 4 + (2^4-3) x 4 + 4 + 2 + 1 =(49+48) x 4 + 13 x 4 + 4 + 2 + 1 =447 |
|
2月17日(木) 1:31:38
MAIL:ponta55555@hotmail.com 24544 |
|
エルク |
|
1箇所出来る場合は (7*7*2−1)*4=388
(−1は斜めに出来る場合を除く引き算) 2箇所出来る場合は 13*4(隣の2箇所)+2(斜めに2箇所)=54 3箇所出来る場合は 4 4箇所出来る場合は 1 計437通りですね なぜか3箇所出来る場合を忘れていたり間違いまくって なかなか正解出せなかった・・・ |
|
魔法の国
2月17日(木) 1:40:10
HomePage:迷いの森 24545 |
|
アヒーのおじさん |
|
最初は2の7乗から重複しているヤツをひいていって447を得たのですが
認証に失敗してしまい(←回答しろよお前)(入力ミスだったのだろうか...) 「にゃぜだ〜」とその場で回路停止(笑) (散々誤答を送信した後だったので送りづらかったです(笑)) 今度は逆に条件に満たす模様を地道に計算していったら同じく447と出てきたので 再度認証にトライしたところ通してくれました(爆) 後者の方法はかなり地道に計算しました (ア):残り7枚のパネルは全て塗らない 4通り (イ):残り7枚のパネルを1枚だけ塗る 7×4=28通り (ウ):(前略)2枚だけ塗る 7C2×4=84通り (エ):(前略)3枚だけ塗る 4(7C3-2)+4=136通り (オ):(前略)4枚だけ塗る 4(7C4-4×2)+16=124通り (カ):(前略)5枚だけ塗る 4(7C5-4C2×2-1)+2+24=58通り (キ):(前略)6枚だけ塗る 8+4=12通り (ク):(前略)7枚塗る 1通り 以上を足して447通り ...うわぁ...何やってんだワシ(苦笑) そうか...3*3の正方形の含有量で場合分けをすれば良かったのか...あははh...(^^; |
|
アンドロメダ大星雲
2月17日(木) 2:25:05
HomePage:正体不明 24546 |
|
kasama |
|
おはようございます。16個のうち9個はまとまった水色で塗られるので、残りの7個を塗り方を考えました。ではなくて、プログラムにやらせました(^_^;)
import java.util.*; public class Question438 { public static void main(String[] args) { List list = new ArrayList(); fill(0, new boolean[7], list); System.out.println(list.size()); } private static final void fill(int n, boolean[] patterns, List list) { if (n >= patterns.length) { String s1 = toString(new boolean[][]{{true, true, true, patterns[0]}, {true, true, true, patterns[1]},{true, true, true, patterns[2]}, {patterns[3], patterns[4], patterns[5], patterns[6]}}); if (!list.contains(s1)) list.add(s1); String s2 = toString(new boolean[][]{{patterns[0], true, true, true}, {patterns[1], true, true, true},{patterns[2], true, true, true}, {patterns[3], patterns[4], patterns[5], patterns[6]}}); if (!list.contains(s2)) list.add(s2); String s3 = toString(new boolean[][]{{patterns[0], patterns[1], patterns[2], patterns[3]},{true, true, true, patterns[4]}, {true, true, true, patterns[5]},{true, true, true, patterns[6]}}); if (!list.contains(s3)) list.add(s3); String s4 = toString(new boolean[][]{{patterns[0], patterns[1], patterns[2], patterns[3]},{patterns[4], true, true, true}, {patterns[5], true, true, true},{patterns[6], true, true, true}}); if (!list.contains(s4)) list.add(s4); return; } patterns[n] = false; fill(n+1, patterns, list); patterns[n] = true; fill(n+1, patterns, list); } private static final String toString(boolean[][] matrix) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < matrix.length; ++i) for (int j = 0; j < matrix[i].length; ++j) sb.append(matrix[i][j] ? "1" : "0"); return sb.toString(); } } |
|
出先
2月17日(木) 9:59:37
24547 |
|
水田X |
| 今年はじめての解答です。正月の鳩ノ巣問題がわからずそのまま忙しいのもあってごぶさたしてました。みなさまあけましておめでとうございます。この問題は立体的べん図を想定して解きました。対角線関係にある題意を充たす正方形の関係をベン図でかくのに立体的に結びつけるしかないのでそうなりました。 |
|
2月17日(木) 10:55:25
24548 |
|
水田X |
| 基本的に、ん〜万打無さんとおんなじ解き方です。先日、びわこバレイスキー場へいこうと思ったらなんと駐車場いっぱいで追い返されて仕方なく別の小さいスキー場へいきました。スキー人口へってると思ったけど大雪で人が戻ったみたい。 |
|
2月17日(木) 11:15:48
24549 |
|
吉川 マサル |
|
#24542
あ、なるほどそうでした。注釈を入れるようにいたします。m(__)m |
|
MacOS X
2月17日(木) 12:55:56
MAIL:masaru-y@kt.rim.or.jp HomePage:算チャレ 24550 |
|
Holly |
|
(ア)左上に1辺3cmの正方形が含まれる場合
(イ)右下に1辺3cmの正方形が含まれ、かつ(ア)に当てはまらない場合 (ウ)右上に1辺3cmの正方形が含まれ、かつ(ア)と(イ)に当てはまらない場合 (エ)左下に1辺3cmの正方形が含まれ、かつ(ア)(イ)(ウ)のどれにも当てはまらない場合 に分けて解きました。 (ア)は2^7、(イ)は2^7-4、(ウ)は(2^3-1)^2×2、(エ)は(2^3-1)^2×2-1 で合計128+124+98+97=447です。 #24548 僕も問題を解くとき、ベン図を描こうと思ったのですが、円では不可能なのであきらめました。 立体的なのが思い浮かぶとは、すごいですね。 |
|
K地方のK県K市
2月17日(木) 15:42:03
MAIL:s-bun@fw.catv.ne.jp 24551 |
|
小学名探偵 |
|
反時計回りに4隅の正方形をA、B、C、Dとします。
いま、Aを含んで3×3の正方形が塗られているとします。 残り、7つの正方形のパターンは128通りですが、 /B//C//D � �○○○○○○ 1通り(全部塗られている場合) �◆�○○○○○● 1通り ��****○○○ 15通り(�,鮟�く) 回転して同じになる重複を数え上げなければ、 128−15=113通り(内訳は1+1+111) 全部を数え上げると 1+1×2+111×4=447通りです。 |
|
2月17日(木) 17:00:12
24552 |
|
uchinyan |
|
はい、こんにちは。というよりも、こんばんは?
うーむ、今回は考え込んでしまいました...重複をどう除くかが鍵ですね。 重複なしになるように考えて求めていくと 左上隅に3cmの正方形がある場合:2^7 通り 右下隅に3cmの正方形がある場合:2^7 - 2^2 通り (左上隅の左縦及び上横がすべて水色を除きます。) 右上隅に3cmの正方形がある場合:2^7 - 2^4 - 2^4 + 2 通り (左上隅の左縦又は右下隅の下横がすべて水色を除きます。) 左下隅に3cmの正方形がある場合:2^7 - 2^4 - 2^4 + 1 通り (左上隅の上横又は右下隅の右縦がすべて水色と、左上隅1cmの正方形及び右下隅1cmの正方形が水色を除きます。) 4番目は、2^7 - 2^4 - 2^4 + 2 通り、として、対称性からして、 左上隅1cmの正方形及び右下隅1cmの正方形が水色、を後で除く方がいいかもしれません。 いずれにせよ、これで、全部です。したがって、 2^7 + (2^7 - 2^2) + (2^7 - 2^4 - 2^4 + 2) + (2^7 - 2^4 - 2^4 + 2) - 1 = 2^7 + (2^7 - 2^2) + (2^7 - 2^4 - 2^4 + 2) + (2^7 - 2^4 - 2^4 + 1) = 4 * 2^7 - 4 * 2^4 - 2^2 + 3 = 447 通り 何かうまい方法がありますね。きっと。 |
|
ネコの住む家
2月17日(木) 17:22:45
MAIL:uchi@sco.bekkoame.ne.jp 24553 |
|
uchinyan |
|
おやぁ、最初...
左上隅に3cmの正方形をA、後、時計回りに、B, C, D として、Xを含む場合の数を n(X) とし、A 及び B を含むのを n(A*B) と書くと、 n(A) = n(B) = n(C) = n(D) = 2^7 n(A*B) = n(B*C) = n(C*D) = n(D*A) = 2^4 n(A*C) = n(B*D) = 2^2 n(A*B*C) = n(B*C*D) = n(C*D*A) = n(D*A*B) = 2^1 n(A*B*C*D) = 1 求める場合の数 N は、結局、 N = (n(A) + n(B) + n(C) + n(D)) - (n(A*B) + n(B*C) + n(C*D) + n(D*A) + n(A*C) + n(B*D)) + (n(A*B*C) + n(B*C*D) + n(C*D*A) + n(D*A*B)) - n(A*B*C*D) となるので、 N = 4 * 2^7 - 4 * 2^4 - 2 * 2^2 + 4 * 2^1 - 1 とやったのだけど、これって、447 になりますよね。何故か、手元の計算が 443 になっているぅ... 計算違いをしていたようです。残念... |
|
ネコの住む家
2月17日(木) 17:55:25
MAIL:uchi@sco.bekkoame.ne.jp 24554 |
|
takaisa |
|
4個の集合の包含関係で考えればずいぶんすっきりいくんですね。勉強になりました。
512より少ないだろうとは見えたのですが、ひたすら場合わけしてみてもダブりで訳がわからなくなり、大変苦しみました。 |
|
2月17日(木) 18:14:45
24555 |
|
schrodin |
|
卑怯かもしれませんがCプログラムで解きました。
時間がかかるかなと思ったけど一瞬でした。 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> int main() { unsigned intcount = 0; unsigned inti; for(i=0x0000; i<=0xFFFF; i++){ if((i&0xEEE0) == 0xEEE0){count++; continue;} if((i&0x0EEE) == 0x0EEE){count++; continue;} if((i&0x7770) == 0x7770){count++; continue;} if((i&0x0777) == 0x0777){count++; continue;} } fprintf(stdout, "count = %d\n", count); getchar(); return 0; } |
|
2月17日(木) 18:56:46
24556 |
|
まるケン |
|
試行錯誤で重複を数えて512から引いていくも、正解者掲示板に入れず。
Rubyで答えを出し、正解がわかっても、数え上げの結果が合わず。 結局、 ■■■□ ■■■■ ■■■■ □■■■ のパターンの見落としに気づき、やっと正解にたどり着けました。 とほほ、、、 参考までに、Rubyのスクリプトをさらします。 (コピペするなら、全角スペースをスペースに置き換えてね) j=0 (0..0xffff).each do |i| j+=1 if(((i & 0xeee0) == 0xeee0) || ((i & 0x7770) == 0x7770) || ((i & 0x0eee) == 0x0eee) || ((i & 0x0777) == 0x0777)) end p j 命令 if 条件 みたいな「if修飾子」っていうのを使ってみました。 Cでも書いてみましたが、今回の問題はRubyの方がちょっとだけすっきり書ける気がしました。 |
|
2月17日(木) 19:30:32
MAIL:take4310@mobile.email.ne.jp HomePage:まるケンの部屋 24557 |
|
な |
|
でけた、勤務中もやってた。
結局、数え漏れがあったんだ。 |
|
2月17日(木) 19:52:45
24558 |
|
小学名探偵 |
|
n×nの正方形マトリクスのとき(n>=2)、
同じ色に塗られる(n−1)×(n−1)の正方形が含まれる 場合の数は、 2^(2n+1)-2^(n+2)-1 になるのでしょうか。 |
|
2月17日(木) 21:32:54
24559 |
|
uchinyan |
| #24559 |
|
2月17日(木) 22:04:15
MAIL:uchi@sco.bekkoame.ne.jp 24560 |
|
uchinyan |
|
#24560はミスです。削除できない...
#24559: 多分いえると思います。 #24553及び#24554のロジックは、そのまま拡張できると思うので。 |
|
ネコの住む家
2月17日(木) 22:21:38
MAIL:uchi@sco.bekkoame.ne.jp 24561 |
|
水田X |
| 私もさいしょベン図で考えてる時まるけんさんの書いてあるパターンを数え損ねていることに気づいて仕方なく立体ベン図を頭の中で作ったんです。 |
|
2月17日(木) 22:31:24
24562 |
|
M.Hossie |
|
こんばんにゃ。今週の問題は最初まじめに考えていたのですが、途中で重複や数え漏れが有ることに気付いて発狂、しゃーないので多分答えは400から500の間にあるだろうと信じて認証です。すみません。こんなのが入試に出たらあっさり捨てますね。
今週末は北海道の網走と紋別へ流氷を見に行きます。昨年は流氷の外れ年で、どちらでも見ることが出来ず、おまけに帰りの飛行機が猛吹雪で欠航してしまい、釧路で1泊足止めを喰らうという散々な旅行になりました。今年こそはそのリベンジを果たしたいですね。取り敢えず、網走のおーろら号、紋別のガリンコ号のどちらかででも流氷を体験出来ればと思っています。 |
|
温泉のある場所
2月17日(木) 22:46:45
24563 |
|
ほげ |
|
http://micci.sansu.org/santyare/438.html
に私の解法を書きました 基本的には 9箇所塗った場合 10箇所塗った場合 ... というふうに地道に数えるという方法です |
|
北の隠れ家
2月18日(金) 15:13:54
MAIL:micci@sansu.org HomePage:みっちの隠れ家 24564 |
|
ねすけ |
|
プログラミング初心者でよく分からないんですが、
自分はvbsでforを重ねてプログラミングして問題を解きましたが、 Cみたいに重ねなくてもできるんですか? |
|
2月18日(金) 17:13:24
24565 |
|
トトロ@N |
|
地道に数えてやっと正解できました。
リアルタイムでは早々にギブアップして寝てました。 #24546 同じやり方の人がいて安心! |
|
兵庫県明石市
2月19日(土) 2:04:03
MAIL:h-sakai@zb3.so-net.ne.jp 24566 |
|
??? |
|
エクセルのvbaで作って見ました。
Sub Macro1() Cells(1, 1).Value = 0 Dim a(16) As Integer '1:(1,1), 2:(1,2), 3:(1,3), ..., 16:(4,4) Call saiki(1, a()) End Sub Sub saiki(ByVal n As Integer, ByRef a() As Integer) Dim QX As Integer '0:3X3の正方形が出来ていない, 1:3X3の正方形が出来ている Dim j1 As Integer, j2 As Integer, j3 As Integer, j4 As Integer a(n) = 0 While a(n) <= 1 '0:塗っていない, 1:塗っている If n < 16 Then Call saiki(n + 1, a()) Else QX = 0 j1 = 1 While QX = 0 And j1 <= 2 j2 = 1 While QX = 0 And j2 <= 2 QX = 1 j3 = j1 While QX And j3 <= j1 + 2 j4 = j2 While QX And j4 <= j2 + 2 If a(4 * (j3 - 1) + j4) Then j4 = j4 + 1 Else QX = 0 End If Wend j3 = j3 + 1 Wend j2 = j2 + 1 Wend j1 = j1 + 1 Wend Cells(1, 1).Value = Cells(1, 1).Value + QX End If a(n) = a(n) + 1 Wend End Sub |
|
2月19日(土) 8:14:29
24567 |
|
N.Nishi |
|
重複を除いて以降と考えたのですが、ややこしく断念。ということで重複を数えなくてよいように
△△△◎ ○■■◎ ○■■◎ ○▽▽▽ のように周りの▽▽▽や◎◎◎のようにそれぞれブロックに分けて 考えました。 周りのマス12マスのうち 12マス全部塗る場合 1通り 11マス塗る場合(1マスだけ塗らない)12C1=12通り 10マス塗る場合(2マス塗らない) 12C10−8=58通り (8引いているのは下図のような場合を除いている) ■■□■ ■□■■ ■■■■ ■■■■ ■■■■ ■■■■ (■は塗っている) ■□■■ ■□■■ (□は塗っていない) 4通り+ 4通り=8通り引いている 9マス塗る場合(3マス塗らない)計124通り(内訳は以下) ・1ブロックで3マス塗らず 1×4=4通り ・隣り合う2ブロックで(1,2)塗らず 3×3×2×4=72通り ・向かい合う2ブロックで(1,2)塗らず 1×3×2×2=12通り ・3ブロックで(1,1,1)塗らず 1×3×3×4=36通り 8マス塗る場合(4マス塗らず)計136通り(内訳は以下) ・3ブロック(1,1,2)塗らず 1×3×3×2×4=72通り ・隣り合う2ブロック(2,2)塗らず 3×3×4=36通り ・ 同 (1,3)塗らず 3×1×2×4=24通り ・向かい合う2ブロック(1,3)塗らず 1×1×4=4通り 7マス塗る場合(5マス塗らず)計84通り(内訳は以下) ・3ブロック(1,1,3)塗らず 1×3×1×2×4=24通り ・ 同 (1,2,2)塗らず 1×3×3×4=36通り ・隣り合う2ブロック(2,3)塗らず 3×1×2×4=24通り 6マス塗る場合(6マス塗らず)計28通り(内訳は以下) ・3ブロック(1,2,3)塗らず 1×3×1×2×4=24通り ・隣り合う2ブロック(3,3)塗らず 1×1×4=4通り 5マス塗る場合 隣り合う2ブロック(2,3)塗る 1×1×4=4通り よって1+12+58+124+136+84+28+4=447通り でも実は向かい合う2ブロックパターンが抜けていて、認証で。 ようやく向かい合う2ブロックパターンに気づいて書き込んでいます。 |
|
2月19日(土) 19:50:36
24568 |
|
姉小路 |
|
重複も含めると、2^7*4=512 とおり
重複しているのを除くと、 512-1*3-4*2-(13*4+2)=447 とおり……(答) 凄く簡略化してる気がしますが、文章力がないのでこのくらいで(^^; ではでは。 |
|
算数の街
2月20日(日) 0:32:50
MAIL:pctakada@mail.goo.ne.jp HomePage:高田の呟き 24569 |
|
小学名探偵 |
|
#24552 の補充説明です。 反時計回りに4隅の1×1正方形をA、B、C、Dとします。 いま、Aを含んで3×3の正方形が塗られているとします。 残り7つの正方形のパターンは、単独では2の7乗、128通りですが、 全体(4×4の正方形)としてみたとき、制限されます。 どのパターンも、 � 。�/4回転ごとに全体が同じになる(90度対称形)か、 �◆。�/2回転ごとに全体が同じになる(180度対称形)か、 �� 1/4回転ごとに全体が変わるか、 のどれかのはずです。 � ,砲覆襪里六弔蝪靴弔寮喫�形がすべて塗られているケースのみです。 (すでにAを含む3×3の正方形は同一色に塗られているので、Aと90度対称な 位置の正方形B、D、それからCも同じ色になり、同様にして、90度対称の条件から すべての1×1の正方形が同じ色に塗られることになります) �◆,砲覆襪里蓮■隠牽暗拌仂里両魴錣�ら、4×4正方形の対角にあるBとDだけ 塗られていないケースのみです。 ��のパターンのなかには、��に属する他のパターンを1/4回転したものと一致する ものがあります。具体的には、7つの正方形のパターンが○○○****のとき (○は塗られた正方形、*は「塗られる/塗られない」の2値を表します)、 4×4正方形全体を1/4回転させれば、****○○○のパターンです。 したがって2^4通りが除かれます。ただし、****が○○○○のときは、 �,離院璽垢覆里如◆複押娃粥檻院法瓧隠妓弔�重複することになります。 結局、Aに対する残り7つ正方形パターンは、 �,離僖拭璽鵑�1通り、 �△離僖拭璽鵑�1通り、 ��のパターンが(128−1−1−15)=111通り したがって、回転による変化を認めて、全部数え上げると、 1+1*2+111*4=447通りとなります。 書き換えると、4×4の正方形のとき、 (2^7-2^4-1)*2^2+1*2+1=2^9-2^6-1 なので、全体がn×nの正方形のとき(n>=2)、 同じ色に塗られた(n−1)×(n−1)の正方形が含まれる場合は 2^(2n+1)-2^(n+2)-1 通り になることがわかります。 |
|
2月20日(日) 8:35:10
24570 |
|
小学名探偵 |
|
#24554 Uchinyan さんの解法は、重複の問題をすっきりと解決されている点で感銘しました。
exclusive とinclusive を分けて考えればよいわけですね。 n(A)はAを含む(inclusive)場合の数ですから、 o(A):Aのみを含む(exlusive)の場合の数、 o(A*B):AとBのみを含む(exclusive)の場合の数、...、 のようにおくと、 n(A)=o(A)+o(A*B)+o(A*C)+o(A*D)+o(A*B*C)+o(A*B*D)+o(A*C*D)+o(A*B*C*D) で表されます。したがって、 Σn(1要素)=Σo(1要素)+2Σo(2要素)+3Σo(3要素)+4*o(4要素) になります。 同様にして、 Σn(2要素)=Σo(2要素)+3Σo(3要素)+6*o(4要素) Σn(3要素)=Σo(3要素)+4*o(4要素) n(4要素)=o(4要素) ところで、 求めるべき場合の数=Σo(1要素)+Σo(2要素)+Σo(3要素)+o(4要素) です。 上の関係から、 Σo(1要素)+Σo(2要素)+Σo(3要素)+o(4要素) =Σn(1要素)−Σn(2要素)+Σn(3要素)−n(4要素) ですね。 |
|
2月20日(日) 8:41:10
24571 |
|
uchinyan |
|
#24571:
#24554の詳細な説明を、代わりにして頂いてありがとうございます m()m 基本的にはベン図を書いてやる計算方法の拡張になっていると思います。 |
|
ネコの住む家
2月20日(日) 15:54:27
MAIL:uchi@sco.bekkoame.ne.jp 24572 |
|
なか |
|
#24557
PERL でも同じようなプログラムを書けました。 $j=0; for$n(0..0xFFFF){ $j+=0 |($n|0x888F)==0xFFFF |($n|0xF888)==0xFFFF |($n|0xF111)==0xFFFF |($n|0x111F)==0xFFFF; } print $j; |
|
2月22日(火) 19:34:54
24573 |
|
優午 |
|
初めてですが、この問題は簡単な方なんですか?
2の7乗から2の4乗×4+1を引いたんですが・・・ |
|
2月23日(水) 22:12:10
24574 |