답안 #321318

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
321318 2020-11-12T05:41:05 Z seedkin 백점을 받아랏! (FXCUP4_hundred) C++17
0 / 100
1 ms 620 KB
#include "hundred.h"
#include <stdio.h>
 
#define aBit 1
#define bBit 2
#define cBit 4
 
#define aIdx 0
#define bIdx 1
#define cIdx 2
 
int dir[100][8][100];   // dir[idx][char bit][target idx] =  char bit
 
std::string GetHundredPoints(int A, int B, int C) {
	// int a, b, c;
	// a = b = c = 0;
	int isCorret[100];
	int candi[100];
	// char ans[100];
	int bit[500];
	bit['A'] = aBit;
	bit['B'] = bBit;
	bit['C'] = cBit;
	// char c[5];
	// c[aBit] = 'A';
	// c[bBit] = 'B';
	// c[cBit] = 'C';
	
	std::string str = std::string(A, 'A') + std::string(B, 'B') + std::string(C, 'C');
	for(int i =0; i < 100 ; i++) {
		isCorret[i] = 0;
		// ans[i] = 'A';
		candi[i] = aBit | bBit | cBit;		
	}
	for(int i =0; i< 100; i++) {
		for(int j =0;j < 8; j++) {
			for(int k =0; k < 100; k++) {
				dir[i][j][k] = -1;
			}
		}
	}
	int result = Mark(str);
	if(result == A+B+C) return str;
	int prevResult = result;
 
	for(int i = 0; i < A+B+C; i++) {
		if(isCorret[i]) continue;
		for(int j =i+1; j < A+B+C; j++) {
			if(candi[i] == aBit || candi[i] == bBit || candi[i] == cBit) break;;
			if(isCorret[j]) continue;
			if(str[i] == str[j]) continue;
			if((candi[i] & bit[str[j]]) == 0) continue;
			if((candi[j] & bit[str[i]]) == 0) continue;
			char temp = str[i];
			str[i] = str[j];
			str[j] = temp;

			result = Mark(str);
			if(result == A+B+C) return str;
			int r = result - prevResult;
		}
 
		if(isCorret[i]) continue;
 
		for(int j = i+1; j < A+B+C; j++) {			
			
		}
	}
 
	return str;
}

Compilation message

hundred.cpp: In function 'std::string GetHundredPoints(int, int, int)':
hundred.cpp:52:29: warning: array subscript has type 'char' [-Wchar-subscripts]
   52 |    if((candi[i] & bit[str[j]]) == 0) continue;
      |                             ^
hundred.cpp:53:29: warning: array subscript has type 'char' [-Wchar-subscripts]
   53 |    if((candi[j] & bit[str[i]]) == 0) continue;
      |                             ^
hundred.cpp:60:8: warning: unused variable 'r' [-Wunused-variable]
   60 |    int r = result - prevResult;
      |        ^
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 620 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 620 KB Output isn't correct
2 Halted 0 ms 0 KB -