問題タブ [sudoku]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
delphi - Delphiテキストファイルが空です
私は最近、デルファイでプログラミングを始めました。
今、私は運動をしています。
トップスコアをテキストファイルに保存する必要があります。私はこの関数を持っています:
入力(scorelijst / lijst1):
次に、新しいトップスコアをテキストファイルの適切な場所に並べ替えます。しかし、出力は空です...私は何が間違っているのですか?
コメントはオランダ語です、ごめんなさい。
TArray = array of string;
algorithm - Code Golf: 数独グリッドの検証
序章
有効な数独グリッドは、1 から 9 までの数字で満たされ、9 の各サブブロック、行または列で複数回出現する数字はありません。この人気のあるパズルに慣れていない場合は、この記事を読んで詳細を確認してください。
チャレンジ
課題は、満杯ではない可能性のある数独グリッドを検証する最短のプログラムを作成することです。
入力は、グリッドを表す、それぞれ 9 文字の 9 行の文字列になります。空のセルは で表されます.
。Valid
グリッドが有効な場合は出力、そうでない場合は output になりますInvalid
。
例
入力
出力
入力
出力
コードゴルフのルール
この問題を解決する最短のコードを任意の言語で投稿してください。入力と出力は、stdin と stdout を介して、または選択した他のファイルで処理できます。
勝者は、この質問の投稿前に実装が存在する言語での最短のソリューション (バイト数による) になります。そのため、0 バイトのソリューションを提出するために作成したばかりの言語を自由に使用できますが、それはカウントされず、おそらく反対票を獲得するでしょう.
java - Java で数独を作成する
新しい数独パズルを発明するプログラムを作成しています。私が最初にこれを行うことを計画した方法は、新しいパズルを発明し、乱数を削除することでした. ただし、新しいパズルを作成するために使用するアルゴリズム (以下を参照) では、1 つ作成するのに最大 5 分かかる場合があります。誰にもより速い解決策がありますか?
作成アルゴリズム
方法:
resetBoard() は単にボードを NULL_VAL で埋めます。
matlab - 数独解法評価機能
そこで、数独を解くための単純な遺伝的アルゴリズムを書こうとしています (最も効率的な方法ではないことはわかっていますが、進化的アルゴリズムを実践するためのものです)。パズルが解けたかどうか、エラーがいくつあるかをテストするための効率的な評価関数を考え出すのにいくつか問題があります。私の最初の本能は、行列の各行と列 (matlab に似ているオクターブで実行) に一意の要素があるかどうかを確認することです。それらを並べ替え、重複を確認してから元の状態に戻します。これは長いようです。巻いた。何かご意見は?
これが以前に尋ねられた場合は申し訳ありません...
logic - 生産ルールによる数独の解決
Droolsを推論エンジンとして、プロダクションルールを使用して数独パズルを解こうとしています。Droolsが詰め込まれた例の1つは、まさに数独ソルバーです。関連するルールは次のとおりです。
...しかし、それは正しく機能しません。常に、グリッド内の1つ以上のセルが空になり、プログラムはパズルを「未解決」として報告します。
数独のための実用的な推論規則ベースのソルバーを構築した人はいますか?使用する言語やエンジンは関係ありません。Droolsに適応できるように、一連のルールを確認したいと思います。
java - 数独再帰問題 (Java)
ランダム数独グリッドの作成に問題があります。パズルを解くために使用した再帰パターンを変更してみました。パズル自体は 2 次元の整数配列です。これは私が持っているものです(ちなみに、この方法は最初の行をランダム化するだけではありません。最初の行をランダム化するという考えがあり、グリッド全体を実行することにしました):
これにより、ArrayIndexOutOfBoundsException が異常に高いまたは低い数値 (+- 100,000) で発生します。私はそれがメソッドにどこまで入っているかを確認しようとしましたが、この行を超えることはありません:
配列インデックスがどのように高くなるかわかりません。誰でも私を助けることができますか?
c++ - 9x9 2dアレイを9つのサブグリッドに分割しますか(数独のように)?(C ++)
私は数独ソルバーをコーディングしようとしています。そのために試みた方法は、ソリューションまたは有効な可能な値のいずれかを持つ「セット」オブジェクトのアドレスを保持するポインターの9x9グリッドを作成することでした。
最初に各列を通過し、次に次の行に移動して繰り返すという、2つのforループを持つ配列を通過することができました。
ただし、特定のセルが属するサブグリッド(またはボックス、ブロックなど)をどのように指定するかを想像するのに苦労しています。私の最初の印象は、forループにifステートメントがあることでした。たとえば、row <2(行は0から始まる)&col <2の場合、最初のブロックにいますが、それは厄介なようです。これを行うためのより良い方法はありますか?
algorithm - 数独ソリューションを表示する方法はユニークです
未解決の数独を考えると、それがユニークな解決策を持っていることをどのように示すことができますか?
c# - 数独有効性チェック アルゴリズム - このコードはどのように機能しますか?
ここに投稿された質問を読んでいました: C# の数独アルゴリズム
投稿されたソリューションの 1 つがこのコードでした。
アイデアは、値の配列で重複を検出することです。しかし、知らないことが多くて困っています。誰かが私にこれを説明できますか?
編集:みんなありがとう。素晴らしい回答が多すぎて、どれを選べばよいかわかりません。今では完全に理にかなっています。
java - Android 数独ゲーム、ボタンを押すとゲームがクラッシュする
数独ゲームを作成していますが、ボタンを押すとゲームがクラッシュします。これが私のコードです:
FPSudoku.java:
Howtoplay.java
更新しました
アンドロイドmanifest.xml
更新されたlogcat
02-25 00:36:08.623: DEBUG/AndroidRuntime(818): >>>>>>>>>>>>>> AndroidRuntime START
<<<<<<<<<<<<<< 02-25 00 :36:08.623: DEBUG/AndroidRuntime(818): CheckJNIがON
02-25 00:36:08.763: DEBUG/AndroidRuntime(818): --- ネイティブ関数登録中 ---
02-25 00:36:09.504: DEBUG /dalvikvm(237): GC_EXPLICIT は 130 オブジェクト / 6944 バイトを 127 ミリ秒で解放しました
02-25 00:36:09.544: DEBUG/PackageParser(43): パッケージをスキャンしています: /data/app/vmdl10845.tmp
02-25 00:36:09.544 : WARN/PackageParser(43): パッケージ /data/app/vmdl10845.tmp の問題:
02-25 00:36:09.544: WARN/PackageParser(43): 下の不明な要素: /data/app/vmdl10845.tmp でのアクティビティバイナリ XML ファイルの行 #15
02-25 00:36:09.634:INFO/PackageManager(43): 非システム パッケージの削除: org.example.fpsudoku
02-25 00:36:09.634: INFO/ActivityManager(43): パッケージ org.example.fpsudoku の強制停止 uid=10036
02-25 00:36:09.734: DEBUG/PackageManager(43): パッケージ org.example.fpsudoku のスキャン
02-25 00:36:09.734: INFO/PackageManager(43): パッケージ org.example.fpsudoku codePath が /data/app/org.example.fpsudoku-1.apk から /data/app/org.example.fpsudoku に変更されました-2.apk; データの保持と新しい
02-25 00:36:09.744: INFO/PackageManager(43): /data/app/org.example.fpsudoku-2.apk changed; の使用 解凍
02-25 00:36:09.754: DEBUG/installd(35): DexInv: --- BEGIN '/data/app/org.example.fpsudoku-2.apk' ---
02-25 00:36:09.904 : DEBUG/dalvikvm(825): DexOpt: ロード 28 ミリ秒、ベリファイ 17 ミリ秒、オプト 2 ミリ秒
02-25 00:36:09.904: DEBUG/installd(35): DexInv: --- END '/data/app/org.example.fpsudoku-2.apk' (成功) ---
02-25 00:36 :09.914: WARN/PackageManager(43): pkg のコード パス: org.example.fpsudoku が /data/app/org.example.fpsudoku-1.apk から /data/app/org.example.fpsudoku-2 に変更されました。 apk
02-25 00:36:09.914: WARN/PackageManager(43): pkg のリソース パス: org.example.fpsudoku は /data/app/org.example.fpsudoku-1.apk から /data/app/org に変更されます.example.fpsudoku-2.apk
02-25 00:36:09.914: DEBUG/PackageManager(43): アクティビティ: org.example.fpsudoku.FPSudoku
02-25 00:36:09.924: INFO/ActivityManager(43): 力パッケージを停止しています org.example.fpsudoku uid=10036
02-25 00:36:10.004: INFO/installd(35): 移動 /data/dalvik-cache/data@app@org.example.fpsudoku-2.apk@classes.dex -> /data/dalvik-cache/ data@app@org.example.fpsudoku-2.apk@classes.dex
02-25 00:36:10.014: DEBUG/PackageManager(43): /data/app/org.example.fpsudoku-2 に新しいパッケージがインストールされました。 apk
02-25 00:36:10.174: DEBUG/dalvikvm(43): GC_FOR_MALLOC が 7382 個のオブジェクトを解放/97ms で 491576 バイト
02-25 00:36:10.274: INFO/ActivityManager(43): パッケージ org.example.fpsudoku を強制的に停止uid=10036
02-25 00:36:10.334: DEBUG/dalvikvm(117): GC_EXPLICIT が 814 オブジェクトを解放 / 53ms で 43456 バイト
02-25 00:36:10.554: DEBUG/dalvikvm(43): GC_EXPLICIT が 3804 オブジェクトを解放 / 210760 102 ミリ秒のバイト数
02-25 00:36:10.574: WARN/RecognitionManagerService(43): 利用可能な音声認識サービスが見つかりません
02-25 00:36:10.614: INFO/installd(35): unlink /data/dalvik-cache/data@app@ org.example.fpsudoku-1.apk@classes.dex
02-25 00:36:10.654: DEBUG/AndroidRuntime(818): VM をシャットダウンしています
02-25 00:36:10.664: DEBUG/dalvikvm(818): デバッガーが切り離された; オブジェクト レジストリには 1 つのエントリがありました
02-25 00:36:10.694: INFO/AndroidRuntime(818): 注: スレッド 'Binder Thread #3' のアタッチに失敗しました
02-25 00:36:11.254: DEBUG/AndroidRuntime(831): > >>>>>>>>>>>>> AndroidRuntime START
<<<<<<<<<<<<<< 02-25 00:36:11.254: DEBUG/AndroidRuntime(831): CheckJNI が ON
02- 25 00:36:11.414:
02-25 00:36:12.034: INFO/ActivityManager(43): 開始アクティビティ: 意図 { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=org.example. fpsudoku/.FPSudoku }
02-25 00:36:12.064: INFO/ActivityManager(43): アクティビティ org.example.fpsudoku の proc org.example.fpsudoku を開始します org.example.fpsudoku/.FPSudoku: pid=837 uid=10036 gids={}
02 -25 00:36:12.094: DEBUG/AndroidRuntime(831): VM 02-25 をシャットダウンしています
00:36:12.104: DEBUG/dalvikvm(831): デバッガーが切り離されました。オブジェクト レジストリには 1 つのエントリがありました
02-25 00:36:12.954: INFO/ActivityManager(43): 表示されたアクティビティ org.example.fpsudoku/.FPSudoku: 901 ミリ秒 (合計 901 ミリ秒)
02-25 00:36:14.024: INFO/ ActivityManager(43): 開始アクティビティ: インテント { cmp=org.example.fpsudoku/.Howtoplay }
02-25 00:36:14.034: DEBUG/AndroidRuntime(837): VM をシャットダウンしています
02-25 00:36:14.034: WARN/dalvikvm(837): threadid=1: キャッチされない例外で終了するスレッド (group=0x4001d800)
02 -25 00:36:14.044: エラー/AndroidRuntime(837): 致命的な例外: メイン
02-25 00:36:14.044: エラー/AndroidRuntime(837): android.content.ActivityNotFoundException: 明示的なアクティビティ クラス {org. example.fpsudoku/org.example.fpsudoku.Howtoplay}; AndroidManifest.xml でこのアクティビティを宣言しましたか?
02-25 00:36:14.044: エラー/AndroidRuntime(837): android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1404) で
02-25 00:36:14.044: エラー/AndroidRuntime(837): Android で。 app.Instrumentation.execStartActivity(Instrumentation.java:1378)
02-25 00:36:14.044: エラー/AndroidRuntime(837): android.app.Activity.startActivityForResult(Activity.java:2817) で
02-25 00:36:14.044: エラー/AndroidRuntime(837): Android で。 app.Activity.startActivity(Activity.java:2923)
02-25 00:36:14.044: ERROR/AndroidRuntime(837): org.example.fpsudoku.FPSudoku.onClick(FPSudoku.java:31)
02-25 00: 36:14.044: エラー/AndroidRuntime(837): android.view.View.performClick(View.java:2408)
02-25 00:36:14.044: エラー/AndroidRuntime(837): android.view.View$PerformClick で.run(View.java:8816)
02-25 00:36:14.044: エラー/AndroidRuntime(837): android.os.Handler.handleCallback(Handler.java:587)
02-25 00:36:14.044: エラー/AndroidRuntime(837): android.os.Handler.dispatchMessage(Handler.java:92) で
02-25 00:36:14.044: エラー/AndroidRuntime(837): android.os.Looper.loop(Looper.java:123) で
02-25 00:36:14.044: エラー/AndroidRuntime(837): Android で。 app.ActivityThread.main(ActivityThread.java:4627)
02-25 00:36:14.044: エラー/AndroidRuntime(837): java.lang.reflect.Method.invokeNative(ネイティブ メソッド)
02-25 00:36:14.044 で: エラー/AndroidRuntime(837): java.lang.reflect.Method.invoke(Method.java:521)
02-25 00:36:14.044: エラー/AndroidRuntime(837): com.android.internal.os で。 ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
02-25 00:36:14.044: エラー/AndroidRuntime(837): com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) で
02-25 00:36:14.044: エラー/AndroidRuntime(837): dalvik.system.NativeStart.main(Native Method)
02-25 00:36:14.054: WARN/ActivityManager(43): 強制終了アクティビティ org.example .fpsudoku/.FPSudoku
02-25 00:36:14.564: WARN/ActivityManager(43): HistoryRecord{43f8d620 org.example.fpsudoku/.FPSudoku}
02-25 00:36:15.764: INFO/Process( 837): 信号を送信しています。PID: 837 SIG: 9
02-25 00:36:15.774: INFO/ActivityManager(43): プロセス org.example.fpsudoku (pid 837) が停止しました。
02-25 00:36:15.774: INFO/WindowManager(43): WIN DEATH: ウィンドウ{440296f8 org.example.fpsudoku/org.example.fpsudoku.FPSudoku paused=false}
02-25 00:36:15.824: WARN/InputManagerService(43): pid 837 uid 10036
02-25 00:36:18.894 に setActive(false) 通知を送信する RemoteException を取得しました: DEBUG/SntpClient(43): 要求時間に失敗しました: Java .net.SocketException: アドレス ファミリはプロトコルでサポートされていません
02-25 00:36:20.194: DEBUG/dalvikvm(237): GC_EXPLICIT は 156 オブジェクト / 11312 バイトを 133ms で解放しました
02-25 00:36:24.782: WARN/ActivityManager(43 ): HistoryRecord{43f8d620 org.example.fpsudoku/.FPSudoku} のアクティビティ破棄タイムアウト
02-25 00:36:25.254: DEBUG/dalvikvm(262): GC_EXPLICIT は 26 オブジェクト / 1144 バイトを 131 ミリ秒で解放しました