0

Codechef でこの問題を解決しようとしています。質問によると、家が 10 ある場合、連続する家を 3 つ選択するか、4 つ、5 つ、...、または 10 のいずれかを選択することで間違いを犯す可能性がmありnますn-m+1。したがって、 を 3 から まで合計n-m+1する必要があります。つまり、 から 1 までの数値を加算しています。AP 内にあるため、値は(式によって) になるはずです。これがこのコードの機能です。ただし、間違った応答メッセージが表示されます。私はどこで間違っていますか?は剰余累乗を行うためのもので、数値がどの段階でも範囲外にならないようにします。mnn-2n-1((n-2)(n-1))/2n(n+1)/2pow

testcase = int(raw_input())
m = 10**9 + 7
for i in xrange(0,testcase):
    n = int(raw_input())
    ans = ((pow(n,2,m)-3*n+2)/2)%m
    print ans   
4

1 に答える 1

2

この場合も数えますか?

( * * * * * * * * * * )
  ^ ^ ^   ^ ^ ^

それはあなたがスキップしたと私が信じる単なる例です。(私があなたのアルゴリズムに正しく従った場合)

実行中のコンテストの問題を尋ねることはまったくOKではありませんが、それは単なるヒントです。

于 2012-09-02T15:22:24.980 に答える