正文

Zju 1530 Find The Multiple2006-08-02 22:52:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/cruxd/17136.html

分享到:

1994302 2006-08-02 22:41:45 Accepted 1530 C++ 00:00.01 440K St.Crux 好吧,我承认,做这个题之前我犹豫了好一阵子:到底是不是dfs?不过这个数据够小的了,n<=200,递归层数<=100。 #include <cstdio> int n, t, a[100], ac; void dfs(int c, int s){ if(!s && !ac) {  ac = 1;  for(int i = 0; i < c; i ++)  {   printf("%d", a[i]);  }  printf("\n"); } else {  if(c < 100 && !ac)  {   a[c] = 1;   dfs(c + 1, (s * 10 + 1) % n);   a[c] = 0;   dfs(c + 1, (s * 10) % n);  } }} int main(){ while(scanf("%d", &n) && n) {  a[0] = 1, ac = 0;  dfs(1, 1); } return 0;}

阅读(3726) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册