摘要: 这个题目刚开始因为就是枚举,后来数据太大,不能搜,就想到数学方法了,答案就是n/5+n/5^2+n/5^3,知道5^k > n,就不加了。 代码如下:#include <stdio.h>#include <stdlib.h>long long ans;int main(int argc, char **argv){ int i; long long j = 5; long long n; scanf("%I64d", &n); for(i = 1; j <= n; i++){ ans += n / j; j *= 5; } pri 阅读全文
posted @ 2011-08-14 23:03 zqynux 阅读(244) 评论(0) 推荐(0) 编辑
摘要: f[0][i][j]代表不走房子到达i, j的最短路径是多少,f[1][i][j]代表走房子到达i, j的最短路径是多少(并不一定是从i, j走房子)? 然后看我的代码吧,实在不好说……#include <stdio.h>#include <string.h>#include <stdlib.h>#define Q_MAX 100000#define deal(a, b) deal_((a), (b), x, y)int f[2][1000][1000];char map[1000][1000];struct dot{ int x, y;}queue[Q_M 阅读全文
posted @ 2011-08-14 22:52 zqynux 阅读(277) 评论(0) 推荐(0) 编辑