50WA寄
查看原帖
50WA寄
1072970
xzc_yhxr楼主2024/8/23 16:09
#include<bits/stdc++.h>
using namespace std ; 
int YN , cut , a[] = {0,50,2,3,4,5,6,7,8,9,10,20,30,40} ;//194
string m ;
struct poker{
	int n , ans ;
	bool C10 , S12 , D11 ;
	int H ;
}joker[5] ;
int z(void){
	int a ;
	if(m.size() == 2){
		a = m[1] - '0' ; 
	}else{
		a = m[1] - '0' ;
		a *= 10 ;
		a += m[2] - '0' ; 
	}
	return a ;
}
int main(){
	while(1){
		YN++ ;
		cin >> joker[++cut].n ;
		if(joker[cut].n != 0){
			YN = 0 ;
			while(joker[cut].n--){
				cin >> m ;
				if(m[0] == 'H'){
					joker[cut].ans -= a[z()] ;
					joker[cut].H++ ;
				}else if(m[0] == 'S'){
					joker[cut].S12 = 1 ;
				}else if(m[0] == 'D'){
					joker[cut].D11 = 1 ;
				}else{
					joker[cut].C10 = 1 ;
				}
			}	
		}
		if(cut == 4 && YN != 4){
			cut = 0 ;
			for(int i = 1 ; i <= 4 ; i++){
				if(joker[i].H == 13){
					if(joker[i].D11 && joker[i].S12){
						joker[i].ans += 694 ;
					}else{
						joker[i].ans += 394 ;
					}
				}else{
					if(joker[i].D11){
						joker[i].ans += 100 ;
					}
					if(joker[i].S12){
						joker[i].ans -= 100 ;
					}
				}
				if(joker[i].C10) joker[i].ans *= 2 ;
				if(joker[i].ans > 0){
					cout << "+" << joker[i].ans << " " ;
				}else{
					cout << joker[i].ans << " " ;
				}
			}
			cout << endl ;
			for(int i = 1 ; i <= 4 ; i++){
				joker[i].ans = 0 ;
				joker[i].H = 0 ;
				joker[i].n = 0 ;
				joker[i].S12 = 0 ;
				joker[i].C10 = 0 ;
				joker[i].D11 = 0 ;
			}
			YN = 0 ;
		}
		if(YN == 4) break ;
	}
	return 0 ;
}
2024/8/23 16:09
加载中...