「牛の舌って薄いんですね」

蒼樹うめ『ひだまりスケッチ』第 6 巻「一頭から一枚」より

ふみをチャレンジ[9]

AOJだんだん難しくなってきた…センター試験終わったね。受験生はこれから個人戦になるので、気を引き締め直して頑張ってください。あとでセンター問題解いてみるか。

答案

#include <stdio.h>

int main() {
  int a, b, c, d, n, count;
  
  while(~scanf("%d", &n)) {
    count = 0;
    for(a = 0; a < 10; a++) {
      for(b = 0; b < 10; b++) {
        for(c = 0; c < 10; c++) {
          for(d = 0; d < 10; d++) {
            if(a+b+c+d == n) count++;
          }
        }
      }
    }
    printf("%d\n", count);
  }
  
  return 0;
}

反省

もっとエレガントな方法はないのかと考えてたけど、結局全部求めることにした。最大でも50なのでTime Limit Exceededになることはなさそうということで。