P1008の質問は尋ねました
P1618の質問は尋ねました
分析
P1618 P1008は、まだ非常に簡単な水がないので、このような水問題の拡張バージョンですが、。
実際には、裁判官()関数は、それから、二つの質問を共有することができ、唯一の「スロットがいっぱいです」が何であるかを決定することです。ピットビットのためにそこに計上されている場合は、上のようにaが思いました。
main()の基本的なプロセスでは、その後、何も特別なアルゴリズム、ライン上に列挙暴力があります。
最初の質問が1であるため、:2:3、また、下限123は、333の狭い内部を通過することができ、制限されます。
それ以来、2番目の質問は、Aである:B:C、上限と下限が制限暴力千万人に1から999まで設定することができないが、すべての999から100になり、A、B、C、に制限を設定する必要があります間、これは)(裁判官の前にデータの範囲はRE(配列の境界を)避けることができることを確実にするために非常に重要です。
初めてP1618 WAは、サンプルを提出しました。
私は、テストデータ5を取得:
で
123 456 789
OUT
123 456 789
実際には、上記の問題は裁判官で制限する前にのために循環の制限であってはならないものでなければなら()と述べました。
P1008〜ACコード(Javaの記述言語)
public class Main {
private static byte[] arr = new byte[9];
public static void main(String[] args) {
for (int i = 123; i < 333; i++) {
arr = new byte[9];
int two = 2*i, three = 3*i;
if (judge(i) && judge(two) && judge(three)) {
System.out.println(i + " " + two + " " + three);
}
}
}
private static boolean judge(int i) {
int a = i / 100;
int b = (i % 100) / 10;
int c = i - a*100 - b*10;
if (b == 0 || c == 0 || a == b || a == c || b == c || arr[a-1] == 1 || arr[b-1] == 1 || arr[c-1] == 1) {
return false;
}
arr[a-1] = arr[b-1] = arr[c-1] = 1;
return true;
}
}
P1618〜ACコード(Javaの記述言語)
import java.util.Scanner;
public class Main {
private static byte[] arr = new byte[9];
private static boolean judge(int i) {
int a = i / 100;
int b = (i % 100) / 10;
int c = i - a*100 - b*10;
if (b == 0 || c == 0 || a == b || a == c || b == c || arr[a-1] == 1 || arr[b-1] == 1 || arr[c-1] == 1) {
return false;
}
arr[a-1] = arr[b-1] = arr[c-1] = 1;
return true;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt(), b = scanner.nextInt(), c = scanner.nextInt();
scanner.close();
boolean flag = false;
for (int i = 1; i < 1000; i++) {
arr = new byte[9];
int one = a*i, two = b*i, three = c*i;
if (one > 100 && one < 1000 && two > 100 && two < 1000 && three > 100 && three < 1000
&& judge(one) && judge(two) && judge(three)) {
flag = true;
System.out.println(one + " " + two + " " + three);
}
}
if (!flag) {
System.out.println("No!!!");
}
}
}