这个BFS并不是很好想。。 最主要的一点是每个余数只会被拿出来一次更新其他余数, 然后我用d[ i ]表示

到达 i 这个余数最短需要多长,然后从高位往低位贪心,判断成立的时候忘记了如果0被ban掉了这个判断会

出问题,都想到这里了为什么没有想到直接去bfs找答案呢??? 我TM蠢爆。

#include<bits/stdc++.h>
#define LL long long
#define fi first
#define se second
#define mk make_pair
#define PII pair<int, int>
using namespace std; const int N = 2e5 + ;
const int inf = 0x3f3f3f3f;
const LL INF = 0x3f3f3f3f3f3f3f3f;
const int mod = 1e9 + ; int n, m, tot, vis[N], from[N], who[N], ans[N];
bool is[];
void init() {
tot = ;
memset(vis, , sizeof(vis));
memset(is, , sizeof(is));
}
int main() {
int cas = ;
while(scanf("%d%d", &n, &m) != EOF) {
init();
for(int i = ; i <= m; i++) {
int x; scanf("%d", &x);
is[x] = true;
}
queue<int> que;
for(int i = ; i < ; i++) {
if(is[i]) continue;
if(i%n==) {
ans[tot++] = i;
break;
}
vis[i%n] = ;
from[i%n] = ;
who[i%n] = i;
que.push(i%n);
}
if(!tot) {
while(!que.empty() && !tot) {
int u = que.front(); que.pop();
for(int i = ; i < ; i++) {
if(is[i]) continue;
int v = (u*+i)%n;
if(!v) {
ans[tot++] = i;
while(u) {
ans[tot++] = who[u];
u = from[u];
}
reverse(ans, ans + tot);
break;
}
if(vis[v]) continue;
vis[v] = vis[u] + ;
from[v] = u;
who[v] = i;
que.push(v);
}
}
}
printf("Case %d: ", cas++);
if(!tot) puts("-1");
else {
for(int i = ; i < tot; i++)
printf("%d", ans[i]);
puts("");
}
}
return ;
} /*
*/

最新文章

  1. JDBC MySQL 多表关联查询查询
  2. swift 手机号码正则表达式 记录一下
  3. 12款经典的白富美型—jquery图片轮播插件—前端开发必备
  4. IIS 的一些配置记录
  5. Clappr——开源的Web视频播放器
  6. linux tricks 之 roundup.
  7. synchronized和static synchronized的比较
  8. Intent的4种传值方法总结
  9. redis的key过期时间
  10. 如何判断C#的Finalizer线程有没有被阻塞
  11. 删除workspace下的vss的scc文件
  12. Winform自定义控件在界面上拖动、滚动鼠标。。会闪烁的解决方法
  13. Android四大组件详解
  14. ASP.NET根据当前时间获取,本周,本月,本季度等时间段
  15. Java调用WebService就是这么简单
  16. Scala 入门介绍
  17. rabbitmq基础学习+springboot结合rabbitmq实现回调确认confirm
  18. find,xargs,tar有选择打包
  19. JS深拷贝/深克隆(面试用)
  20. 【小白的CFD之旅】23 串行与并行

热门文章

  1. 根据Bool值挑选数组中元素
  2. JS中的getter与setter
  3. 蓝桥杯 算法提高 3000米排名预测 DFS 递归搜索 next_permutation()使用
  4. Configure文件学习
  5. IFrame跨域处理方法-Javascript
  6. jquery php ajax多图片上传.上传进度,生成缩略图
  7. ArcGis数据分类(ClassBreaksDefinition)
  8. 【Foreign】tty的方程math [数学]
  9. TC-572-D1L2 未完!待续!
  10. cassandra数据库