タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

Programに関するatsukanrockのブックマーク (2)

  • 美しすぎるプログラムの解説 - やねうらおブログ(移転しました)

    ↓で紹介した美しすぎるプログラムの解説を少し書いておく。 美しすぎるプログラムを解読せよの巻 http://d.hatena.ne.jp/yaneurao/20101013 配列dpの意味だが、 dp[r][i0][i1][i2][i3][i4][i5][i6][i7][i8][i9] は、r桁の数字において、10進数で各桁を見たときに ・"0"の出現回数が(3-i0)回以内、 ・"1"の出現回数が(3-i1)回以内、 … ・"9"の出現回数が(3-i9)回以内 であるような数の個数。このプログラムは(3-i0)のように補数(?)になっているのでちょっとわかりにくいと思う。 さて、例えば、r = 6(6桁)の場合について考えてみると、6桁というのは、5桁の数の左に1桁追加して出来る数だから、その左側に追加される1桁の数字が"0","1","2",…,"9"の場合それぞれについて考えてみる。

    美しすぎるプログラムの解説 - やねうらおブログ(移転しました)
  • 美しすぎるプログラム - 棚瀬のブログ

    前に私が書いたプログラムです。 これはある問題に対する解答なんですが、ネタ狙いじゃなくて真面目に考えてこのコードに辿りつきました。 視覚的にこれ以上美しいプログラムはそうそうないんではないかと自負していますがいかがでしょう。 メイン部分はなんと11重ループです。 これが何を求めるプログラムか分かった人には・・何もあげませんがすごいです。 あるウェブサイトで出されている問題の一つなので知ってる人は知ってるかもしれないですが。 #include #include using namespace std; long long dp[18][4][4][4][4][4][4][4][4][4][4]; #define FORN( n ) for ( int i##n = 0; i##n < 4; i##n ++ ) int main() { memset( dp, 0, sizeof( dp )

    美しすぎるプログラム - 棚瀬のブログ
    atsukanrock
    atsukanrock 2010/10/14
    変態がちょこちょこおる…
  • 1