アカウント名:
パスワード:
「Google Goggles」新版リリース、数独を解く機能も - ITmedia ニュースhttp://www.itmedia.co.jp/news/articles/1101/11/news081.html [itmedia.co.jp]
代わりにやってもらうんですね
WITH RECURSIVE x( s, ind ) AS( SELECT sud, position( ' ' IN sud ) FROM (SELECT ' 53 8 2 7 1 5 4 53 1 7 6 32 8 6 5 9 4 3 97 '::text AS sud) xx UNION ALL SELECT substr( s, 1, ind - 1 ) || z || substr( s, ind + 1 ) , position(' ' IN repeat('x',ind) || substr( s, ind + 1 ) ) FROM x , (SELECT gs::text AS z FROM generate_series(1,9) gs) z WHERE ind > 0 AND NOT EXISTS ( SELECT NULL FROM generate_series(1,9) lp WHERE z.z = substr( s, ( (ind - 1 ) / 9 ) * 9 + lp, 1 ) OR z.z = substr( s, mod( ind - 1, 9 ) - 8 + lp * 9, 1 ) OR z.z = substr( s, mod( ( ( ind - 1 ) / 3 ), 3 ) * 3 + ( ( ind - 1 ) / 27 ) * 27 + lp + ( ( lp - 1 ) / 3 ) * 6 , 1 ) ))SELECT sFROM xWHERE ind = 0;
手元のPCで、7秒弱で求まりました。
元はOracleか。再帰的クエリはやっぱりこういう問題には強いな。
SQLServerだと同等の1文クエリは無理っぽいな。generate_series関数が羨ましすぎる。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
吾輩はリファレンスである。名前はまだ無い -- perlの中の人
自分で解けないので (スコア:0)
「Google Goggles」新版リリース、数独を解く機能も - ITmedia ニュース
http://www.itmedia.co.jp/news/articles/1101/11/news081.html [itmedia.co.jp]
代わりにやってもらうんですね
SQLで一発 (スコア:5, 興味深い)
手元のPCで、7秒弱で求まりました。
Re: (スコア:0)
元はOracleか。
再帰的クエリはやっぱりこういう問題には強いな。
SQLServerだと同等の1文クエリは無理っぽいな。
generate_series関数が羨ましすぎる。