落書きノート

ふと自分が気になった事を書いてます

C++で問題を解く AIZU ONLINE JUDGE

C++11/C++14を使おうと思って型推論を使ってみたら、なぜか変なエラーに阻まれて使えなかったので、今回は普通のC++でやりました。文法、ちゃんと勉強しないと駄目なんですかね。ネットで入門サイトがあるのでそこを参考にしてまたやってみます。連想配列Mapを使いかけましたが、配列だけで十分でした。使うと逆にやりづらいです。

// Finding Missing Cards

#include <iostream>

using namespace std;

int main(void)
{
  int S[13] = {}, H[13] = {}, C[13] = {}, D[13] = {};
  int n,number;
  char c;
  cin >> n;
  for(int i = 0; i < n; i++) {
    cin >> c >> number;
    if(c == 'S')
      S[number - 1] = 1;
    else if(c == 'H')
      H[number - 1] = 1;
    else if(c == 'C')
      C[number - 1] = 1;
    else
      D[number - 1] = 1;
  }
  for(int i = 0; i < 13; i++) {
    if(S[i] == 0)
      cout << 'S' << ' ' << i + 1 << endl;
  }
  for(int i = 0; i < 13; i++) {
    if(H[i] == 0)
      cout << 'H' << ' ' << i + 1 << endl;
  }
  for(int i = 0; i < 13; i++) {
    if(C[i] == 0)
      cout << 'C' << ' ' << i + 1 << endl;
  }
  for(int i = 0; i < 13; i++) {
    if(D[i] == 0)
      cout << 'D' << ' ' << i + 1 << endl;
  }
  return 0;
}