警钟长鸣!!!
查看原帖
警钟长鸣!!!
1397943
beimingyouniu楼主2024/11/6 19:39

以下是我认证时的作答

#include<bits/stdc++.h>
using namespace std;
int n;
char c1, c2, k;
int a[20], b[20], c[20], d[20];
int main() {
	freopen("poker.in", "r", stdin);
	freopen("poker.out", "w", stdout);

	scanf("%d%c", &n, &k);
	for(int i = 1; i <= n; i++) {
		scanf("%c%c%c", &c1, &c2, &k);
		int m = 0;

		if(c2 == 'A') {
			m = 1;
		} else if(c2 == 'T') {
			m = 10;
		} else if(c2 == 'J') {
			m = 11;
		} else if(c2 == 'Q') {
			m = 12;
		} else if(c2 == 'K') {
			m = 13;
		} else {
			m = c2 - '0';
		}
		if(c1 == 'C') {
			a[m] = 1;
		} else if(c1 == 'S') {
			b[m] = 1;
		} else if(c1 == 'H') {
			c[m] = 1;
		} else if(c1 == 'D') {
			d[m] = 1;
		}
	}

	int sum;
	for(int i = 1; i <= 13; i++) {
		if(a[i] == 1) {
			sum++;
		}
		if(b[i] == 1) {
			sum++;
		}
		if(c[i] == 1) {
			sum++;
		}
		if(d[i] == 1) {
			sum++;
		}
	}

	printf("%d", 52 - sum);

	fclose(stdin);
	fclose(stdout)
;
	return 0;
}

由于sum未初始化导致爆0

2024/11/6 19:39
加载中...