10015 - Finding Missing Cards

#include <iostream>
using namespace std;

void Slove(void)	{
	int n, number;
	char c;
	const char card[4]={'S', 'H', 'C', 'D'};
	bool card_flg[4][13];

	for(int i=0; i<4; ++i)
		for (int j=0; j<13; ++j)
			card_flg[i][j]=false;
	cin >> n;
	for (int i=0; i<n; ++i)	{
		cin >> c >> number;
		for (int j=0; j<4; ++j)
			if (c == card[j])	card_flg[j][--number]=true;
	}
	for (int i=0; i<4; ++i)
		for (int j=0; j<13; ++j)
			if (!card_flg[i][j])	cout << card[i] << " " << j+1 << endl;
}

int main(void)	{
	Slove();
	return 0;
}

文字と数字の関連付けしてフラグ管理をしました。