poj 1426 dfs问题 01背包 创新性解法

来源:互联网 发布:mac mini 定制 编辑:程序博客网 时间:2024/06/04 19:23
事先声明,这个方法不是我想出来的,其中运用同余模定理,但是被我改进了一下。变得更简单。
#include<iostream>using namespace std;int a[530000];int main(){int i,n,j,k;while(cin>>n&&n){a[0]=-1;a[1]=1;for(i=2;a[i-1]!=0;i++)a[i]=(a[i/2]*10+i%2)%n;     //关键步骤i--;for(j=i,k=0;j>0;k++){if(j%2==0)a[k]=0;elsea[k]=1;j=j/2;}for(i=0;i<k;i++)cout<<a[k-1-i];cout<<endl;}}

0 0
原创粉丝点击