�������裴�������ʬ�β�����

DrK
場合わけですね。
3×3のブロック、真ん中の通りの3×1のブロック、中心の3通りの点の取り方を考えれば求まる。
まずは1点を固定して考える。
互いに3×3のブロックにある場合、9×9×2=162…��
1点が3×3のブロックにあり、もう1点は真ん中の通りにある場合
9×13=117…��
互いに真ん中の通りの3×1のブロックにある場合
3×3×2=18…��
1点が真ん中の3×1のブロック、1点が中央にある場合
3…��
��+��+��+��
162+117+18+3=300が答え
今は楽園かな?違うな。   8月25日(木) 0:16:02   MAIL:satoka@star.odn.ne.jp   25650
atomick
単純に49マスから2マスを選ぶ組み合わせは1176組。
そのうち、中央のマス(上から4番目、右から4番目)を中心に点対称な2マスを選ぶ24組は、2組で1通りと数えられるので24/2=12通り。
残りの1152組は、4組で1通りと数えられるので1152/4=288通り。
合計300通りです。
   8月25日(木) 0:21:55     25651
DrK
解法が違ったかも。
同じブロックにある場合と、中心に対して対称なブロック同士にある場合の場合わけがいります。
でも、計算は先ほどの計算と同じになります。
厳密には
�,�9×9+9(1+(8/2))+9C2=162
��は3×3+3(1+(2/2))+3C2=18
です
今は楽園かな?違うな。   8月25日(木) 0:22:18   MAIL:satoka@star.odn.ne.jp   25652
atomick
単純に49マスから2マスを選ぶ組み合わせは1176組。
そのうち、中央のマス(上から4番目、右から4番目)を中心に点対称な2マスを選ぶ24組は、2組で1通りと数えられるので24/2=12通り。
残りの1152組は、4組で1通りと数えられるので1152/4=288通り。
合計300通りです。
   8月25日(木) 0:23:39     25653
むらい
まず条件を無視したら 全通り 49C2=1176通り
普通は回転したら自身も含めて4通り重複しますが
A「中心と互いに対称な地点にある場合」は180度回転して戻るので2通りの重複になります。
まずAを12通りと求め、残りは1176−12*2=1152 で4通りの重複を考慮して
1152÷4=288  となり 先の12と加えて300になりました。
クーラーの効きすぎた部屋   8月25日(木) 0:24:44   HomePage:問題  25655
tomh
#25651と同じです。

#最初、反転も考えていたのは内緒… (^b^) シー
新潟市   8月25日(木) 0:31:05   MAIL:tomh@yahoo.co.jp HomePage:H to M  25658
なか
297という勘違い

対称なものが12個と思い込んでしまい、297を送ってしまいました。
点対称であればよいから24個数えなくてはいけませんでした。
(1176−24)/4 + 24/2 =300
北海道   8月25日(木) 0:45:47   MAIL:naka@sansu.org HomePage:naka's Home Page  25659
tomh
NxNのマス目のときは、

 N:奇数…(N^4-1)/8 通り,
 N:偶数…N^4 /8 通り.

かな?
新潟市   8月25日(木) 0:51:57   MAIL:tomh@yahoo.co.jp HomePage:H to M  25660
Taro
#25660
そのように思えます。
なお、The On-Line Encyclopedia of Integer Sequencesでも調べましたが登録されてはいないようです。
   8月25日(木) 0:55:02   MAIL:tarox@nifty.com   25661
ゴンとも
最初からnでやりましたtomhさんと同じ結果ですね。以下です。
先ず、題意の赤玉で回転を考慮しないおき方はn(奇数)として
binomial(n^2,2)=n^2*(n^2-1)/2通り・・・・・・��
ここで回転を考慮すると
回転により先の2通り分と4通り分となる2パターンがある
2通り分は題意の図で正方形の真ん中を十字で
(n-1)/2+((n-1)/2)^2通り・・・・・・��
これより4通り分は(��-2*��)/4=(n^2*(n^2-1)/2-2*((n-1)/2+((n-1)/2)^2))/4
expand((n^2*(n^2-1)/2-2*((n-1)/2+((n-1)/2)^2))/4);(n-1)^2*(n+1)^2/8
これと�△鯊�して
factor(expand((n-1)/2+((n-1)/2)^2+(n-1)^2*(n+1)^2/8));(n-1)*(n+1)*(n^2+1)/8
これが題意でn=7より(7-1)*(7+1)*(7^2+1)/8;300通り・・・・・・(答え)
偶数の場合も同じで奇数より簡単で。
図がないと説明しにくいですが。偶数だと2通り分が7*7を4等分して
4つの正方形で簡単。楽しかったですぅ。では。
豊川市   8月25日(木) 1:08:46   MAIL:fttnm528@ybb.ne.jp   25662
みけ
先週のは難しくて解けませんでした・・・
今週のも時間がかかりました。みなさん素晴らしい解き方をしていますね。
みけかど   8月25日(木) 1:18:09     25663
ゴンとも
先の偶数の場合もtomhさんと以下で同じになりました。
先ず、題意の赤玉で回転を考慮しないおき方はn(偶数)として
binomial(n^2,2)=n^2*(n^2-1)/2通り・・・・・・��
ここで回転を考慮すると
回転により先の2通り分と4通り分となる2パターンがある
2通り分は題意の図で正方形の真ん中を十字で
(n/2)^2通り・・・・・・��
これより4通り分は(��-2*��)/4=(n^2*(n^2-1)/2-2*(n/2)^2)/4
expand((n^2*(n^2-1)/2-2*(n/2)^2)/4);n^4/8-n^2/4
これと�△鯊�して
factor(expand(n^4/8-n^2/4+(n/2)^2));n^4/8
�△�奇数のときよりも簡単で考えやすいと思いました。では。
豊川市   8月25日(木) 1:20:30   MAIL:fttnm528@ybb.ne.jp   25664
アヒーのおじさん
(誰かと被るかも知れませんがご愛敬と言うことで...(爆))
置き方は4通り分、2通り分被る2種類がありますが...まず2通りは考えずにおきます
49C2×(1/4)=294
これは2通り分被るパターンもいっしょに4で割っています
ぶっちゃけ294通りの中には2通り被るパターンがその半分しか含まれていないわけでして...
2通り被るパターンは12通りですから...その半分の6通りを足してやればいいってことで
294+6=300 300通り でした
9点円の中心   8月25日(木) 2:34:33   HomePage:正体不明  25666
水田X
わたしは式でいうと12+12*12+12*12=300でおしまいでした。真ん中の点をのけて他を風車みたいに3*4の4ブロックにわけておしまい。
   8月25日(木) 10:41:46     25667
kasama
おはようございます(*^_^*)

import java.util.*;
public class Question465 {
 private static List list = new ArrayList();
 public static void main(String[] args) {
  locate(0, 0, new int[2]);
  System.out.println(list.size());
 }
 private static final void locate(int n, int p, int[] pos) {
  if (p >= pos.length) {
   String s = new StringBuffer().append(pos[0]).append(',').append(pos[1]).toString();
   int[] p2 = rotate(pos);
   String s2 = new StringBuffer().append(p2[0]).append(',').append(p2[1]).toString();
   int[] p3 = rotate(p2);
   String s3 = new StringBuffer().append(p3[0]).append(',').append(p3[1]).toString();
   int[] p4 = rotate(p3);
   String s4 = new StringBuffer().append(p4[0]).append(',').append(p4[1]).toString();
   if (!list.contains(s) && !list.contains(s2) && !list.contains(s3) && !list.contains(s4)) list.add(s);
   return;
  }
  if (n >= 49) return;
  locate(n+1, p, pos);
  pos[p++] = n;
  locate(n+1, p, pos);
 }
 private static final int[] rotate(int[] pos) {
  int[] p2 = new int[]{7*(pos[0]%7)+6-(pos[0]/7), 7*(pos[1]%7)+6-(pos[1]/7)};
  if (p2[0] < p2[1]) return p2;
  return new int[]{p2[1], p2[0]};
 }
}
出先   8月25日(木) 11:17:02     25668
uchinyan
はい、こんにちは。
今回の問題は、単純ですが、情けないことに完全にこんがらがってしまい、結構苦しみました (^^;
最終結果はどなたかと同じと思いますが、一応、苦闘の足跡を...
まず、二つの点は区別しないので、49C2 だけど、回転対称性よりこれを 1/4 して、49C2 * 1/4 = 294 かな、でも簡単すぎるなぁ...?
掲示板:「ブー!」。あ、やっぱり違うぞ。もっと慎重に。
そうか、対称軸にのっている2点で中心と向かい合わせなものは、回転対称性が半分になるから、(49C2 + 4 * 3)/4 = 294 + 3 = 297 だ!
掲示板(非情に):「ブー! アホ!!」 えー、うそぉ。
うーむ、面倒だ、プログラム組んじゃえ。っと、588 ? おいおい、バグバグだ。あ、二つの点を区別してる箇所があるぅ...
300 って出たけどほんとぉ?
掲示板:「ピンポン!」 お、やったね。
さぁ、算数算数、何がいけないんだ?
あー、そうかぁ、回転対称性が半分になる箇所が、対称軸に挟まれた間にも3箇所あるんだ。
ということは、(49C2 + 4 * (3 + 3))/4 = 294 + 6 = 300 通り。
ふー、やっとできました。めでたしめでたし。
...という感じでした。お粗末...

ちなみに、プログラム。perl です。

# Sansuu Challenge 465

$c = 0; @p = (); $n = 7;

sub check {
 local($x1,$y1,$x2,$y2) = @_;
 for($i = 0; $i < @p+0; $i += 4) {
  if(($x1 == $p[$i]) && ($y1 == $p[$i+1]) && ($x2 == $p[$i+2]) && ($y2 == $p[$i+3])) {
   return(1);
  }
  if(($x2 == $p[$i]) && ($y2 == $p[$i+1]) && ($x1 == $p[$i+2]) && ($y1 == $p[$i+3])) {
   return(1);
  }
 }
 return(0);
}

foreach $x1 (1..$n) {
 foreach $y1 (1..$n) {
  foreach $x2 (1..$n) {
   foreach $y2 (1..$n) {
    next if(($x1 == $x2) && ($y1 == $y2));
    next if(check($x1,$y1,$x2,$y2) == 1);
    next if(check($n+1-$y1,$x1,$n+1-$y2,$x2) == 1);
    next if(check($n+1-$x1,$n+1-$y1,$n+1-$x2,$n+1-$y2) == 1);
    next if(check($y1,$n+1-$x1,$y2,$n+1-$x2) == 1);
    $c++;
    push(@p,$x1,$y1,$x2,$y2);
   }
  }
 }
}
print "$c";
ネコの住む家   8月25日(木) 14:57:31   MAIL:uchi@sco.bekkoame.ne.jp   25669
uchinyan
私の解法での一般化。(ちょっと、説明を追加。)
* n:奇数
(C(n^2,2) + 4 * Sum(k=1,(n-1)/2){k})/4
= 1/4 * (1/2 * n^2 * (n^2 - 1) + 4 * 1/2 * (n-1)/2 * (n+1)/2)
= 1/8 * (n^4 - 1)
* n:偶数
この場合には、中心の列がないので、4 倍のところを 2 倍にして、その分、隣とくっつけて、
(C(n^2,2) + 2 * (Sum(k=1,n/2){k} + Sum(k=1,n/2-1){k}))/4
= 1/4 * (1/2 * n^2 * (n^2 - 1) + 2 * (1/2 * n/2 * (n/2 + 1) + 1/2 * n/2 * (n/2 - 1)))
= 1/4 * (1/2 * n^2 * (n^2 - 1) + 2 * (n/2)^2)
= 1/8 * n^4
tomh さんやゴンともさんと同じですね。
ネコの住む家   8月25日(木) 15:07:49   MAIL:uchi@sco.bekkoame.ne.jp   25670
水田X
すみません。数え落としでたまたま正解でした。わたしのやり方だと原点を中心に第一象限から第四象限にわけて 原点とどっかの象限からひとつ、となり同士の象限からひとつづつ、向かい合わせの象限からひとつづつの合計で300?でもそれに一つの象限からふたつを選ぶを加えると366になる??どこが重複してるんだろう??
   8月25日(木) 13:11:55     25671
ハラギャーテイ
解けませんでした。他の人が解けました。

49C2/4から前に行きませんでした。
北九州   8月26日(金) 10:41:45   HomePage:信号処理に挑戦  25672
ちこりん
全体から2個拾い出す場合の数が49C2=1176通り
そのうち、(49−1)/2=24通りは回転すると同じになるパターンが2つずつ。
残りの1176−24=1152通りは回転すると同じになるパターンが4つずつ。
よって、24/2+1152/4=300通り

久々に来てみたけど、何だか難しい・・・結局、算数で解けなかったし。
   8月25日(木) 16:47:58     25673
uchinyan
#25671:
ちょっと考えてみました。
>すみません。数え落としでたまたま正解でした。
>わたしのやり方だと原点を中心に第一象限から第四象限にわけて 
>原点とどっかの象限からひとつ、となり同士の象限からひとつづつ、
恐らく、それぞれ、12 通り、12 * 12 = 144 通りで、ここまでは正しいと思います。
>向かい合わせの象限からひとつづつの合計で300?
ここが問題で、向かい合わせの象限から一つずつの場合には...
・中心をはさんで点対称になるもの。12 通りありますが、これはOK。
・中心をはさんで点対称にならないもの。12 * 12 - 12 = 132 通りあります。
 これが問題で、180度回転したものが別々に含まれています。これを今回は同じとみなす必要があります。
 そこで、実際には、半分にして 132/2 = 66 通り、としなければならないと思います。
結局、12 + 66 = 78 通りになります。
>でもそれに一つの象限からふたつを選ぶを加えると366になる??
一つの象限から二つ選ぶのは、12C2 = 12 * 11 / 2 = 66 通りですね。
結局、12 + 144 + 78 + 66 = 300 通りです。
>どこが重複してるんだろう??
上記のとおりですが、重複の 66 がうまく相殺されて、答えは一致したようですね ^^:
ネコの住む家   8月25日(木) 18:29:25   MAIL:uchi@sco.bekkoame.ne.jp   25674
uchinyan
一応、掲示板を読みました。大筋、皆さん、同じようですね。
ただ、個性というか、微妙なバリエーションがあって、興味深いです。
何というか、非常にシンプルで基本的な問題なのですが(プログラムを書くと特にそう思います。)、
結構難しい、というか、勘違いしやすい...
面白い問題だと思います。
ネコの住む家   8月25日(木) 18:43:55   MAIL:uchi@sco.bekkoame.ne.jp   25675
あ〜く@ジューク
すっかり忘れていました。。。
やり方は#25651と同じです。

「区別をつける」「区別を付けない」の違いを理解しているかどうか試すには良い問題ですね。
未完成の蜜柑星   8月26日(金) 3:37:04   MAIL:ishizaki@qa.so-net.ne.jp   25676
水田X
uchinyanさま ありがとうございます。さすが名探偵!でもPointの部分まだピンとこないのでじっくり考えて見ます。それにしても昨日のBSの名探偵ポワロおもろかった〜
   8月26日(金) 10:33:34     25677
まるケン
ます目の数を変えた場合の一般解を考え、計算させて見ましたが、例のサイトには該当する数列はありませんでした。
あまり面白みがないからかなぁ、、、
   8月26日(金) 12:09:28   MAIL:take4310@mobile.email.ne.jp HomePage:まるケンの部屋  25678
川村高雅
桝目に番号をつけました.回転して同じ位置に来るものは同じ番号をつけると結局番号は1−13になります.(外側から付けていくと真中が13になります.)そして競馬の連勝馬券のように1−1が2通り、1-2〜1-12が各4通り、1-13が1通りという風に12−13まで数え上げると計300になります。
   8月26日(金) 15:22:31   MAIL:kwckx939@ybb.ne.jp   25679
みかん
私のやり方も#25651と同じように点対称のを差し引いてから4分の1する、
という方法でした。

場合の数を足し合わせて出すのなら#26650のやり方がいいですね。
   8月27日(土) 9:57:47     25680
トトロ@N
#25651 のatomickさんと同じ解き方です。
最初は対称の組が12だと勘違いしてました。
とにかく更新前に解決してよかったです。
兵庫県明石市   8月31日(水) 0:03:10   MAIL:h-sakai@zb3.so-net.ne.jp   25681

過去問題一覧へ戻る