⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zp1136_m_bfs_template.cpp

📁 一个acm题目系统会自动删除debug和release目录
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
#include <iostream.h>

struct typec
{
  int num,mod,d[500];
};
typec sh[5000];
int m,n,p[5010],di[15];
int calit()
{
  int pf,sf,i,j;
  sh[0].num=0;
  sh[0].mod=0;
  pf=0;sf=1;
  while (pf<sf)
  {
    for (i=0;i<m;i++)
    {
      if (pf==0 && di[i]==0) continue;
      sh[sf].mod=(sh[pf].mod*10+di[i])%n;
      if (p[sh[sf].mod]) continue;
      p[sh[sf].mod]=1;
      sh[sf].num=sh[pf].num;
      for (j=0;j<sh[sf].num;j++)
        sh[sf].d[j]=sh[pf].d[j];
      sh[sf].d[sh[sf].num++]=di[i];
      if (sh[sf].mod==0) return sf;
      sf++;
    }
    pf++;
  }
  return -1;
}

int main(int argc, char* argv[])
{
  int i,j,t,pos;
  while (cin>>n)
  {
    cin>>m;
    for (i=0;i<m;i++)
      cin>>di[i];

    if (n==0) { cout<<0<<endl; continue; }

    for (i=0;i<m-1;i++)
      for (j=i+1;j<m;j++)
        if (di[i]>di[j])
        { t=di[i];di[i]=di[j];di[j]=t; }

    for (i=0;i<n;i++)
      p[i]=0;

    pos=calit();
    if (pos>0)
      for (i=0;i<sh[pos].num;i++)
        cout<<sh[pos].d[i];
    else
      cout<<0;
    cout<<endl;
  }

  return 0;
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -