https://yukicoder.me/problems/no/785
解説
https://yukicoder.me/submissions/315630
ある色について、使えない文字がn種類あった場合は、使える文字は16-n種類となる。
ある色は2桁で表現されるので、この場合は(16-n)^2通りの表現ができることになる。
答えは3色についての組み合わせの総積となる。
各色について処理は全く一緒なので、forで繰り返し実行して答えを求めよう。
入力が特殊なので、これの処理が一番大変な所だと思うが、コンマで分割して処理しよう。
自分はどっかから持ってきたsplit関数を持ってたので貼った。
今回は具体的に何が禁止されているかは問題ではなく、使えない文字が何文字かだけに興味があるので、
コンマの数だけ数えて+1が使えない文字数としても問題ない。
string C; //--------------------------------------------------------------------------------------------------- void _main() { int ans = 1; rep(i, 0, 3) { cin >> C; if (C == "NONE") { ans *= 16 * 16; continue; } auto v = split(C, ","); int n = v.size(); ans *= (16 - n) * (16 - n); } cout << ans << endl; }