rt
  • 板块P1148 拱猪计分
  • 楼主woscxk
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/4/17 12:47
  • 上次更新2024/4/17 17:07:31
查看原帖
rt
1245629
woscxk楼主2024/4/17 12:47
#include<bits/stdc++.h>
using namespace std;
int output[10086],lun=0;
int main(){
    while(true){
        string player[4][16]={};
        int j=0;
        int flag=0;
        for(int i=0;i<4;i++){
        	int n;
            cin>>n;
            if(n==0) flag++;
            for(int j=0;j<n;j++){
                cin>>player[i][j];
            }
        }
        if(flag==4) break;
        for(int i=0;i<4;i++){
            int flagm=1,cnt=0;
            bool h[14]={},flagz=0,flagy=0,flagr=0;
            for(int j=0;j<16;j++){
                if(player[i][j][0]=='H'){
                    if(player[i][j].length()==2) h[player[i][j][1]-'0']=1;
                    else h[player[i][j][2]-'0'+10]=1;
                }
                if(player[i][j]=="C10") flagm=2;
                if(player[i][j]=="S12") flagz=1;
                if(player[i][j]=="D11") flagy=1;
            }
            for(int i=1;i<=13;i++){
            	if(!h[i]){
					flagr=1;
					break;
				}
			}
			if(!flagr){
				cnt+=200;
				if(flagz&&flagy) cnt+=300;
				output[lun*4+i]=cnt*flagm;
				continue;
			}else{
				for(int i=1;i<=13;i++){
					if(!h[i]) continue;
					if(i==1) cnt-=50;
					else if(i<=10&&i>=2) cnt-=i;
					else cnt-=10*(i-9);
				}
				if(flagz) cnt-=100;
				if(flagy) cnt+=100;
			}
			if(cnt==0&&flagm==2){
				output[lun*4+i]=50;
				continue;
			}
			output[lun*4+i]=cnt*flagm;
        }
        lun++;
    }
    for(int i=0;i<lun*4;i++){
    	if(output[i]>0) cout<<'+';
		cout<<output[i]<<' ';
		if(i%4==3)cout<<'\n';
	}
	return 0;
}
2024/4/17 12:47
加载中...