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になることはなさそうということで。