-1
を変革ここで問題文です:CodeChefアレイプログラム
考えると、n個の数字は、次の操作を 何度でも行うことができます:0でどれも 数字の任意のサブセットを選択してください。 サブセットの番号を 1で減らし、 にない番号をKだけ増やします。 は、 のうち1つを除いた数字が0になるように操作できますか? 入力:最初の行には、 個のテストケースTが含まれています。T * 2 T行 が続き、それぞれ2件あります。テストケースの最初の 行には、数字nとKの が含まれています。次の行 には、n個の数字a_1 ... a_nが含まれています。出力 :出力T行.1行は、それぞれのテストケースが に対応します。テストケースの場合、 は、記述されているように 操作のシーケンスがある場合は "YES"を出力し、それ以外の場合は "NO" を出力します。
Sample Input :
3
2 1
10 10
3 2
1 2 2
3 2
1 2 3
Sample Output :
YES
YES
NO
Constraints :
1 <= T <= 1000
2 <= n <= 100
1 <= K <= 10
0 <= a_i <= 1000
&ここに私のコードは次のとおりです。
import java.util.*;
public class ArrayTransform {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int no_of_tests = sc.nextInt();
int size;
int a[] = new int[100];
boolean yes;
int j;
int k;
for (int i = 0; i < no_of_tests; i++) {
size = sc.nextInt();
k = sc.nextInt();
for (j = 0; j < size; j++) {
a[j] = sc.nextInt();
}
yes = is_possible(a, size, k + 1);
if (yes)
System.out.println("YES\n");
else
System.out.println("NO\n");
}
}
static boolean is_possible(int a[], int size, int k_1) {
int count = 0;
int m[] = { -1, -1 };
int mod;
for (int i = 0; i < size; i++) {
mod = a[i] % k_1;
if (m[0] != mod && m[1] != mod) {
if (m[0] == -1)
m[0] = mod;
else if (m[1] == -1)
m[1] = mod;
else
return false;
}
}
return true;
}
}
質問はどこですか? – maaartinus
申し訳ありません...私のコードで何が間違っていますか?なぜ私は間違った答えを得ていますか? – Chester
あなたは何を試しましたか?これをどのようにデバッグに近づけましたか?どのような答えが正しいと思いますか?一度それを知って、あなたの論理エラーをトレースすることはかなり日常的でなければなりません。 –