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;
}

  

posted @ 2011-07-30 19:59  zqynux  阅读(269)  评论(0编辑  收藏  举报