动不动就3221225477,求助
查看原帖
动不动就3221225477,求助
700986
IkunFriendsChat楼主2022/11/5 14:09
#include<bits/stdc++.h>
using namespace std;
#define elif else if
int p[5],i,j,sc[5],tms=1,hd,hs,acd;
string ca[5][19];
map<string,int>a,b;
void init()
{
	a["H1"]=-50;
	a["H2"]=-2;
	a["H3"]=-3;
	a["H4"]=-4;
	a["H5"]=-5;
	a["H6"]=-6;
	a["H7"]=-7;
	a["H8"]=-8;
	a["H9"]=-9;
	a["H12"]=-30;
	a["H11"]=-20;
	a["H10"]=-10;
	a["H13"]=-40;
	a["S12"]=-100;
	a["D11"]=100;
	
}
int main()
{
	init();
	while(1)
	{
		for(i=1;i<=4;i++)
		{
			scanf("%d",&p[i]);
			for(j=1;j<=p[i];j++)
			cin>>ca[i][j];
		}
		if(!p[1]&&!p[2]&&!p[3]&&!p[4])return 0;
		for(i=1;i<=4;i++)
		{
			for(j=1;j<=p[i];j++)
			{
				if(ca[i][j][0]=='H'){acd++;sc[i]+=a[ca[i][j]];}
				elif(ca[i][j]=="C10")tms=2;
				elif(ca[i][j]=="D11")hd=1;
				else hs=1;
			}
			if(acd==13)sc[i]=200;
			if(sc[i]==200&&hd&&hs)sc[i]=500;
			if(sc[i]!=500)
			{
				if(hs)sc[i]-=100;
				if(hd)sc[i]+=100;
			}
			sc[i]*=tms;
			if(!sc[i]&&tms==2)sc[i]=50;
			if(sc[i]>0)printf("+");
			printf("%d ",sc[i]);
			tms=1;hd=hs=0;acd=0;
		}
		printf("\n");
		memset(ca,0,sizeof(ca));
		memset(p,0,sizeof(p));
		memset(sc,0,sizeof(sc));
	}
}

每次输入H1到H13是就会报3221225477,求指教

2022/11/5 14:09
加载中...