logo

不正解(WA)の時はどうすればいいですか?

間違った答えがかえって苦痛を与えるというケースは常にあります。 TLE(制限時間超過) 前者と同様に、どのテスト ケースが失敗しているのかを確認できませんでしたが、後者では、N (合計命令) のどの値に対して TLE が表示されるかを推定できます。 
 

では、その時はどうすればいいのでしょうか?

    質問をよく読んでください:初めて WA(間違った答え) を受け取ったときは、必ずすべての単語を読み、質問を完全に理解していることを確認してください。ほとんどの場合、質問全体の基礎となる特定の部分をスキップしているからです。 
     入力/出力の形式を確認します。プログラマーの多くは、質問の要件に応じて改行や空白を追加することを忘れます。したがって、オンライン審査員にソリューションを提出する前に、次のようなオンラインコンパイラでプログラムを実行してみてください。 code.geeksforgeeks.org または イデオン 。プログラムのアルゴリズム/ロジックを確認します。すべてのテスト ケースをカバーする正しいロジックを使用しているかどうかを確認してください。 
     コーナーテストケース可能であれば、0 1 2 や N などの境界テスト ケースでコードを実行してみてください。 

     

愚かな間違いを避ける



    変数を初期化します:テスト ケース T ごとに変数配列を再初期化するのを忘れることがあります。例: 
    • count変数の値を0に初期化します。
    • DP[] 配列のすべての値を 0 または -1 に設定します。
    データ型オーバーフロー:N の値やその他の入力に与えられた制約を常に念頭に置き、オーバーフローを避けるために、C/C++ の int long long や JAVA の int long などの正しいデータ型の範囲内でプログラムを作成してください。 
     モジュールの問題:モジュラー算術 (答え % MOD) のような質問では、答えが負の値を取得しないことを常に確認してください。そのため、すべての可能性をカバーする (答え + MOD) % MOD を使用するようにしてください。 
     

デバッグ  

    最も重要な部分はデバッグです。Codeblock Eclipse の組み込みデバッガーを C/C++ および JAVA でそれぞれ使用することも、各行の後に変数を出力して、プログラムが要件に従って実行されているかどうかを推定することもできます。アサーションを使用します。コードに多くの行を記述する場合は、assert() を使用する価値があります。クリック ここ 競技プログラミングでアサーションを使用する方法の詳細を参照してください。 
     与えられた提案を探します:これは最後のステップである必要がありますが、他のプログラマーも同じ問題に直面し、この問題を根絶する方法についてヒントを提供している以下のコメントを参照する必要があります。



最終的には、目的が明確に定義された小さな関数を含むクリーンなコードを常に作成するようにしてください。  

 

クイズの作成