C/C++の宿題を片付けます 99代目
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
200:デフォルトの名無しさん 07/11/10 09:21:51 >>198 「問題として成立する」と「解けるか」は意味が違うだろ、常識的に考えて。 なんなら初期配置0個でも解けるぞ。 201:198 07/11/10 09:51:13 >>200 解ける = 配置が一意的に求まる 解けている全配置を求めるプログラム書いたが 二つ目が出てこない 時間がかかりすぎる #include <iostream> using namespace std; main(){ int G[9][9],R[9][9],S[9][9]; int x,y[81],m,n,l,d,cnt; for(n=0;n<81;n++)y[n]=0; for(m=0;m<9;m++)for(n=0;n<9;n++)G[m][n]=R[m][n]=S[m][n]=1; d=cnt=0; for(;;){ x=y[d]; m=d/9; n=d%9; l= 3*(m/3) + n/3; if( G[m][x]+R[n][x]+S[l][x]==3 ){ if(d<80){G[m][x]=R[n][x]=S[l][x]=0; d++; y[d]=0;continue;} cnt++;for(int k=0;k<81;k++){if(k%9==0)cout<<endl;cout<<y[k]<<" ";};d--;} ST: if(y[d]<8)y[d]++; else{ if(d==0){cout<<cnt;return 0;} d--; x=y[d]; m=d/9; n=d%9; l= 3*(m/3) + n/3; G[m][x]=R[n][x]=S[l][x]=1; goto ST;} }}
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
4713日前に更新/222 KB
担当:undef