栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 2283 Different Digits

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 2283 Different Digits

#include<stdio.h>const int N = 65536;const int M = N+N;int x[2][N]={0},q[M]={0},p[M]={0};int bfs(int a,int b,int n,int t){    int fr=0,r=1,i=0;    char f[N]={0};    q[0]=0;    if (a==0)    {          fr=2;          q[2]=b;          r=3;          f[0]=1;          p[2]=0;    }    while(fr<r)    {          if (f[q[fr]]==1)          {     fr++;     continue;          }          f[q[fr]]=1;          q[r]=(q[fr]*10+a)%n;          p[r]=fr;          if (q[r]==0)     break;          r++;          q[r]=(q[fr]*10+b)%n;          p[r]=fr++;          if (q[r]==0)     break;          r++;    }    if (fr<r)    {          for (i=0;r!=0;i++)          {     if (r%2==1)x[t][i]=a;     else x[t][i]=b;     r=p[r];          }          return i-1;    }    return -1;}int main(){    int n,d[10],c,i,j,k,m,t;    scanf("%d",&n);    while (n!=0)    {          d[0]=n;          c=0;          for (i=1;i<10;i++)          {     j=i;     d[i]=1;     while (d[i]<n && j%n!=0)     {j=j%n*10+i;d[i]++;     }     if (d[i]<d[c])c=i;          }          if (c!=0)          {     for (j=d[c];j>0;j--)printf("%d",c);          }          else{     m=n;     t=0;     for (i=0;i<10;i++)     {for (j=i+1;j<10;j++){      c=bfs(i,j,n,t);      if (c!=-1 && c<m)      { t=1-t; m=c;      }      else if (c==m)      { for (k=m;k>=0;k--) {       if (x[t][k]<x[1-t][k])       {   t=1-t;   break;       }       else if (x[t][k]>x[1-t][k])   break; }      }}     }     for (i=m;i>=0;i--)printf("%d",x[1-t][i]);          }          printf("n");          scanf("%d",&n);    }    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/376834.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号