int win(int a[]){
	int b[11];
	int i=0 ;
	int ret= 0;
	set(b);

	for(i=0 ; i< 11 ; i++){
		if ( valid1(i,a) ){
			copy(b,a);
			put1(i,b);
			ret|= !win(b);
		}
		if ( valid2(i,a) ){
			copy(b,a);
			put2(i,b);
			ret|= !win(b);
		}
		if ( valid3(i,a) ){
			copy(b,a);
			put3(i,b);
			ret|= !win(b);
		}
	}
	return ret;
}
Beispiel #2
0
bool valid(int*nums){
    double a = nums[0], b = nums[1], c = nums[2], d = nums[3];
    if (valid3(a+b, c, d) || valid3(a-b, c, d) || valid3(a*b, c, d) || valid3(a/b, c, d)) return true;
    if (valid3(a, b+c, d) || valid3(a, b-c, d) || valid3(a, b*c, d) || valid3(a, b/c, d)) return true;
    if (valid3(a, b, c+d) || valid3(a, b, c-d) || valid3(a, b, c*d) || valid3(a, b, c/d)) return true;
    return false;
}