NOIP 2008 火柴棒等式 解题报告
这算什么算法呢?? 模拟吧,反正很简单,代码:
#include <stdio.h> #include <stdlib.h> int num[2000] = {6, 2, 5, 5, 4, 5, 6, 3, 7, 6}; int ans; int main(int argc, char **argv) { int i, j; int n; scanf("%d", &n); n -= 4; for(i = 10; i < 2000; i++){ num[i] = num[i / 10] + num[i % 10]; } for(i = 0; i < 1000; i++){ if(num[i] > n){ continue; } for(j = 0; j < 1000; j++){ if(num[i] + num[j] + num[i + j] == n){ ans++; } } } printf("%d\n", ans); return 0; }