시합 포인트 추측
프로그램 요구: 만약 에 어떤 승리 선수 가 최종 적 으로 X 점 을 얻 었 다 면 경기 과정 을 보지 못 하 게 한다 면 그 (그녀) 가 어떤 문 제 를 맞 혔 는 지, 어떤 문 제 를 틀 렸 는 지 추측 해 보 세 요.맞 힌 문 제 를 1 로 기록 하고 틀린 문 제 를 0 으로 기록 하면 10 문제 의 대답 상황 은 1 과 0 만 포 함 된 꼬치 로 표시 할 수 있다.예: 001011011 10 문제 의 번 호 를 왼쪽 에서 오른쪽으로 순서대로 배열 하 는 것 이 가능 한 상황 이다.당신 의 임 무 는 이 점 수 를 만족 시 킬 수 있 는 모든 가능 한 상황 을 계산 하 는 것 입 니 다. 답 은 | 번호 로 구분 되 고 답 은 순 서 를 매 겨 야 합 니 다. 답 을 10 진법 으로 바 꾼 후 숫자 가 작은 것 이 앞 에 있 습 니 다. 즉, 001011011011 은 101011011011 앞 에 있어 야 합 니 다.이 점 수 를 만족 시 키 지 않 으 면 10 개 출력 0: 00000000 실행 시간 제한: 무제 한 메모리 제한: 무제 한 입력: 선수 의 득점, 정수. 출력: 입력 득점 의 모든 가능 한 상황 을 만족 시 키 고 답 사 이 를 | 번호 로 구분 하 며 답 은 순 서 를 매 겨 야 한다. 답 을 10 진법 으로 바 꾼 후 숫자 가 작은 것 이 앞 에 있어 야 한다. 즉, 001011011011 은 1010110111 앞 에 있어 야 한다.이 점 수 를 만족 시 키 지 않 으 면 10 개 출력 0: 00000000 샘플 입력: 100 샘플 출력: 0010110011|0111010000|1011010000
import java.util.ArrayList;
import java.util.List;
public class Text {
static boolean flag = false;
static List<ArrayList<Integer>> list = new ArrayList<>();
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] x = new int[10];
//
cal(x, 0, 100);
if (flag == false) {
for (int i = 0; i < 9; i++) {
System.out.print("0:0000000000|");
}
System.out.print("0:0000000000");
} else {
for (int j = 0; j < list.size() - 1; j++) {
for (int temp : list.get(j)) {
System.out.print(temp);
}
System.out.print("|");
}
for (int temp : list.get(list.size() - 1)) {
System.out.print(temp);
}
}
}
/**
*
* @param arr
*
* @param scorecount
*
*/
public static boolean cal1(int[] arr, int scorecount) {
int score = 10;
for (int i = 0; i < arr.length; i++) {
if (arr[i] == 0) {
score = score - i - 1;
} else {
score = 2 * score;
}
}
if (score == scorecount) {
return true;
} else {
return false;
}
}
/**
*
*
* @param arr
*
* @param n
*
* @param score
*
*/
public static void cal(int[] arr, int n, int score) {
if (n >= arr.length) {
if (cal1(arr, score)) {
ArrayList<Integer> temp = new ArrayList<>();
for (int j : arr) {
temp.add(j);
}
list.add(temp);
flag = true;
}
return;
}
// , 0 1
arr[n] = 0;
//
cal(arr, n + 1, score);
arr[n] = 1;
cal(arr, n + 1, score);
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Codility Lesson3】FrogJmpA small frog wants to get to the other side of the road. The frog is currently located at position X and wants to get to...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.