0.1から始めるプログラミング 競技のほう aoj10015

#include <cstdio>
#include <iostream>
#include <cmath>
using namespace std;

int main(){
	int cards[4][13];
	for (int i=0;i<4;i++){
		for (int j=0;j<13;j++){
			cards[i][j] = 0;
		}
	}
	int n;
	cin >> n;
	for (int i=0;i<n;i++){
		char M;
		int m,num;
		cin >> M >> num;
		
		if(M=='S') m=0;
		else if(M=='H') m=1;
		else if(M=='C') m=2;
		else if(M=='D') m=3;
		
		cards[m][num-1] = 1;
	}
	
	for (int i=0;i<4;i++){
		for (int j=0;j<13;j++){
			if(cards[i][j]== 0){
				if(i==0) cout << "S " << j+1 << endl;
				else if(i==1) cout << "H " << j+1 <<endl;
				else if(i==2) cout << "C " << j+1 <<endl;
				else if(i==3) cout << "D " << j+1 <<endl;
			}
		}
	}
		
	
	return 0;
}

現実は大体の場合1originなのにこのへんは0originのせいで大変ややこしい このコードの中で微妙に+1とか入ってるのは実際の配列のインデックスとカードのナンバーがずれてるからです 世の中も全部0originにしよう 0ってなんかかっこいいし
あと「クラブ」のイニシャルを「K」と勘違いして死ぬというプログラミング関係ないアホさを露呈した
プログラマーが最初に学ぶべき言語は「英語」というのは本当に正しい気がする 単語だけでもぶち込んどけば後々捗るってレベルじゃないだろうなあ
英語好きだけど、今のところ継続して勉強できる方法がわかってない そういう意味では受験は良かったなぁ TOEICも要領テストらしいけど、少なくとも触れるきっかけにはなるでしょう