没什么巧办法,直接搜就行。

用余数作为每个节点的哈希值。

#include <cstdio>
#include <cstring>
#include <cstdlib> const int MAXN = ; struct node
{
int mod;
int fa;
int digit;
node() {}
node( int mod, int fa, int dig ):mod(mod), fa(fa), digit(dig) { }
}; int N;
bool ok[];
bool vis[MAXN];
node Q[MAXN << ]; void findFa( int u )
{
if ( u == - ) return;
findFa( Q[u].fa );
printf( "%d", Q[u].digit );
} int BFS()
{
int head = ;
int tail = ;
memset( vis, false, sizeof(vis) ); for ( int i = ; i < ; ++i )
{
if ( !ok[i] ) continue;
int hashh = i % N;
if ( vis[hashh] ) continue;
vis[hashh] = true;
Q[tail] = node( hashh, -, i );
if ( hashh == ) return tail;
++tail;
} while ( head < tail )
{
node cur = Q[head];
for ( int i = ; i < ; ++i )
{
if ( !ok[i] ) continue;
int hashh = ( cur.mod * + i ) % N; if ( vis[hashh] ) continue;
vis[hashh] = true;
Q[tail] = node( hashh, head, i );
if ( hashh == ) return tail;
++tail;
}
++head;
}
return -;
} int main()
{
int cas = ;
while ( scanf( "%d", &N ) == )
{
memset( ok, true, sizeof(ok) );
int n;
scanf( "%d", &n );
for ( int i = ; i < n; ++i )
{
int digit;
scanf( "%d", &digit );
ok[digit] = false;
} printf( "Case %d: ", ++cas );
int ans = BFS();
if ( ans != - ) findFa( ans );
else printf("-1"); puts("");
}
return ;
}

最新文章

  1. 手把手教你搭建深度学习平台——避坑安装theano+CUDA
  2. C#夯实基础系列之const与readonly
  3. FC400的PM2.5过滤效率测试。。
  4. cocopods 安装与使用
  5. 安装sql2008的时候选择的是Windows身份验证,现在我想用sql server身份验证,我应该到哪儿设置呢
  6. Git--分布式版本控制系统
  7. Git error on commit after merge - fatal: cannot do a partial commit during a merge
  8. 移动端rem切图
  9. c#开发Mongo笔记第二篇
  10. websphere安装和mvn dependency:copy-dependencies
  11. Javasript 正则匹配任意字符
  12. JMeter-正则表达式(Json中取value的部分值)
  13. expdp和impdp导入和导出数据
  14. What are User and Group Permissions
  15. ElasticSearch 5.0.0 安装部署常见错误或问题
  16. Linux命令(三) 移动文件 mv
  17. Java Nashorn--Part 3
  18. VMW虚拟机生成的文件说明
  19. zimbra邮件服务器的搭建和迁移
  20. ADF中VO的查询方法比较

热门文章

  1. 牛客国庆day 6 A
  2. Git笔记(pull/push)
  3. ADO.NET 之断开连接层
  4. Map the Debris -freecodecamp算法题目
  5. lincode 680 Split String
  6. django+xadmin在线教育平台(十一)
  7. 描述linux目录结构以及目录结构命名规定
  8. 平衡二叉查找树 AVL 的实现
  9. 移动端h5页面meta标签设置
  10. POJ 3484 二分