社区讨论

不妨调一个模拟

P1148拱猪计分参与者 2已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@m25sqv2k
此快照首次捕获于
2024/10/12 14:49
去年
此快照最后确认于
2025/11/04 17:23
4 个月前
查看原帖
一年多了,还是挑不出来毛病。
orz orz orz orz
CPP
#include<bits/stdc++.h>
using namespace std;
int a[10010];
int l=1;
int HH[15]={0,-50,-2,-3,-4,-5,-6,-7,-8,-9,-10,-20,-30,-40};
int cnt,cnt2;
bool c,s,d,vis[100010];
int sum;
int main(){
	char x;
	int y;
	int k;
	while(1){
		for(int i=1;i<=4;i++){
			cnt2=0;
			memset(vis,0,sizeof(vis));
			c=0;
			s=0;
			d=0;
			sum=0;
			cin>>k;
			if(k==0) cnt++;
			for(int j=1;j<=k;j++){
				cin>>x>>y;
				if(x=='H'){
					cnt2++;
					vis[y]=1;
				} 
				if(x=='C'&&y==10) c=1;
				if(x=='S'&&y==12) s=1;
				if(x=='D'&&y==11) d=1;
			}
			if(cnt2==13){
				sum+=200;
				if(s&&d) sum=500;
				else{
					if(s) sum-=100;
					if(d) sum+=100;
				}
				if(c) sum*=2;
			}	
			else{
				for(int i=1;i<=13;i++){
					if(vis[i]){
						sum+=HH[i];
					}
				}
				if(d) sum+=100;
				if(s) sum-=100;
				if(c) sum*=2;
			}
			if(c&&k==1){
				sum=50;
			}
			a[l++]=sum;
		}
		if(cnt>=4) break;
	}
	for(int i=1;i<l-4;i++){
		if(i%4==1&&i!=1) cout<<endl;
		if(a[i]>0) cout<<"+";
		cout<<a[i]<<" ";
	}
	return 0;
}

回复

4 条回复,欢迎继续交流。

正在加载回复...