C/C++の宿題を片付けます 75代目
■ このスレッドは過去ログ倉庫に格納されています
0048デフォルトの名無しさん
2006/10/21(土) 10:10:34何がいけないかというと
状態が2の木に隣接している木を状態2にしているので、同じ時刻のループで
1−>2に変化した木を処理してしまうということだな。
> if(tree[i+1][j]==1) {tree[i+1][j]=2;} //burns the one on the right
だから状態を、
燃えていない木=1、燃えている木=2、燃え尽きた木=3
でなくて
燃えていない木=1、火がつけられた木=4、燃えている木=3、燃え尽きた木=2
にして1−>4にすればこれを解決できる。
同じ時刻のループを抜けるときに、4−>2に戻してやるわけだ。
>>46さんのプログラムはそうしている。
あと、
>> n++;
上下左右各々に対してn++すること。
■ このスレッドは過去ログ倉庫に格納されています