2010年07月26日

四角い頭を丸くするに留めず捏ねてみた

電車内の某所の今月の問題に、トーナメント戦のネタがありました。
まぁ当然の如く電車内で回答は得ていたのですが、力技で解いてみました。
追記部分にawkスクリプトを載せておきますが、
要は各プレイヤが何番手から何番手で在り得るかを出力しています。
それだけなんですが、自分のメモ代わりに。
BEGIN {
  for (ic = 1; ic <= 8; ++ic) min[ic] = 8;
  for (p[1] = 1; p[1] <= 8; ++p[1]) {
    for (p[2] = 1; p[2] <= 8; ++p[2]) {
      if (p[2] == p[1]) continue;
      if (p[1] > p[2]) continue;
      for (p[3] = 1; p[3] <= 8; ++p[3]) {
        if (p[3] == p[1] || p[3] == p[2]) continue;
        for (p[4] = 1; p[4] <= 8; ++p[4]) {
          if (p[4] == p[1] || p[4] == p[2] || p[4] == p[3]) continue;
          if (p[3] < p[4]) continue;
          if (p[1] < p[4]) continue;
          for (p[5] = 1; p[5] <= 8; ++p[5]) {
            if (p[5] == p[1] || p[5] == p[2] || p[5] == p[3] || p[5] == p[4]) continue;
            for (p[6] = 1; p[6] <= 8; ++p[6]) {
              if (p[6] == p[1] || p[6] == p[2] || p[6] == p[3] || p[6] == p[4] ||
                p[6] == p[5]) continue;
              if (p[5] < p[6]) continue;
              for (p[7] = 1; p[7] <= 8; ++p[7]) {
                if (p[7] == p[1] || p[7] == p[2] || p[7] == p[3] || p[7] == p[4] ||
                  p[7] == p[5] || p[7] == p[6]) continue;
                if (p[6] < p[7]) continue;
                if (p[4] < p[7]) continue;
                for (p[8] = 1; p[8] <= 8; ++p[8]) {
                  if (p[8] == p[1] || p[8] == p[2] || p[8] == p[3] || p[8] == p[4] ||
                    p[8] == p[5] || p[8] == p[6] || p[8] == p[7]) continue;
                  if (p[7] > p[8]) continue;
                  for (ic = 1; ic <= length(p); ++ic) {
                    if (p[ic] < min[ic]) min[ic] = p[ic];
                    if (p[ic] > max[ic]) max[ic] = p[ic];
                  }
                }
              }
            }
          }
        }
      }
    }
  }
  for (ic = 1; ic <= length(min); ++ic) {
    printf("p%d:rank from %d to %d\n", ic, min[ic], max[ic]);
  }
}
posted by 性悪狐 at 14:32 | Comment(2) | TrackBack(0) | 日記
早いものですね〜ブログ更新ストップから、もう一年が経ってしまいましたね。
Posted by 蝶ちゃん at 2011年08月18日 20:20
ぎゃーす
Posted by 性悪狐 at 2011年08月18日 23:19
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのTrackBack URL
http://blog.seesaa.jp/tb/157491219
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。