01的时间

1.做BFS时要记录路径。

2.注意模的性质~~~大佬给我说的

 1 #include<iostream>
 2 #include<algorithm>
 3 #include<cstdio>
 4 #include<cstring>
 5 #include<queue>
 6 using namespace std;
 7
 8 const int maxn=1000;
 9
10 int p[maxn],pre[maxn];
11
12 void print(int m){
13     if(m==-1) return;
14     print(pre[m]);
15     printf("%d",p[m]);
16 }
17
18 void BFS(int n){
19     queue<int> q;
20     q.push(1);
21     p[1]=1,pre[1]=-1;
22     while(q.size()){
23         int v=q.front();
24         q.pop();
25         int x=(v*10)%n;
26         int y=(v*10+1)%n;
27         if(x==0){
28             print(v);
29             cout<<"0"<<endl;
30             break;
31         }
32         if(y==0){
33             print(v);
34             cout<<"1"<<endl;
35             break;
36         }
37         if(pre[x]==0){
38             pre[x]=v;
39             p[x]=0;
40             q.push(x);
41         }
42         if(pre[y]==0){
43             pre[y]=v;
44             p[y]=1;
45             q.push(y);
46         }
47     }
48 }
49
50 int main()
51 {   int T;scanf("%d",&T);
52     while(T--){
53         int tem;scanf("%d",&tem);
54         memset(p,0,sizeof(p));
55         memset(pre,0,sizeof(pre));
56         if(tem==1) printf("1\n");
57         else BFS(tem);
58
59     }
60     return 0;
61 }
时间: 2024-10-11 05:28:11

01的时间的相关文章

17-又见01背包

/*                                        又见01背包时间限制:1000 ms  |  内存限制:65535 KB难度:3 描述        有n个重量和价值分别为wi 和 vi 的 物品,从这些物品中选择总重量不超过 W     的物品,求所有挑选方案中物品价值总和的最大值.    1 <= n <=100    1 <= wi <= 10^7    1 <= vi <= 100    1 <= W <= 10^

深度优先搜索 codevs 1065 01字符串

codevs 1065 01字符串 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 输出仅有0和1组成的长度为n的字符串,并且其中不能含有3个连续的相同子串. 输入描述 Input Description 输入文件只有一行一个整数n,表示有0和1组成的字符串的长度.0<=n<=30. 输出描述 Output Description 输出文件只有一行一个整数,表示所有满足条件的字符串的个数. 样例输入 Sample Input

ACM——01排序

http://acm.njupt.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=1024 01排序 时间限制(普通/Java):1000MS/3000MS          运行内存限制:65536KByte总提交:708            测试通过:258 描述 将01串首先按长度排序,长度相同时,按1的个数多少进行排序,1的个数相同时再按ASCII码值排序. 输入 输入数据中含有一些01串,01串的长度不大于256个字符

#1038 : 01背包 ( 01 背包,基础DP)

#1038 : 01背包 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 且说上一周的故事里,小Hi和小Ho费劲心思终于拿到了茫茫多的奖券!而现在,终于到了小Ho领取奖励的时刻了! 小Ho现在手上有M张奖券,而奖品区有N件奖品,分别标号为1到N,其中第i件奖品需要need(i)张奖券进行兑换,同时也只能兑换一次,为了使得辛苦得到的奖券不白白浪费,小Ho给每件奖品都评了分,其中第i件奖品的评分值为value(i),表示他对这件奖品的喜好值.现在他想知道,凭借他手上的这

NYOJ-860 又见01背包

又见01背包 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述     有n个重量和价值分别为wi 和 vi 的 物品,从这些物品中选择总重量不超过 W 的物品,求所有挑选方案中物品价值总和的最大值. 1 <= n <=100 1 <= wi <= 10^7 1 <= vi <= 100 1 <= W <= 10^9 输入 多组测试数据. 每组测试数据第一行输入,n 和 W ,接下来有n行,每行输入两个数,代表第i个物品的wi 和

NYIST 860 又见01背包

又见01背包时间限制:1000 ms | 内存限制:65535 KB难度:3 描述 有n个重量和价值分别为wi 和 vi 的 物品,从这些物品中选择总重量不超过 W 的物品,求所有挑选方案中物品价值总和的最大值. 1 <= n <=100 1 <= wi <= 10^7 1 <= vi <= 100 1 <= W <= 10^9输入多组测试数据. 每组测试数据第一行输入,n 和 W ,接下来有n行,每行输入两个数,代表第i个物品的wi 和 vi. 输出满足题

hiho 挑战赛10(01串-找规律决策)

题目1 : 01串 时间限制:7000ms 单点时限:1000ms 内存限制:256MB 描述 给定两个整数n和m,求是否存在恰好包含n个0和m个1的01串S,使得S中不存在子串"001"和"11". 如果存在符合条件的01串则输出字典序最小的S,否则输出NO. 输入 一行两个整数,表示n和m.(0<=n,m<=100000,0<n+m) 输出 一行一个字符串,为字典序最小的S或者NO. 样例输入 2 3 样例输出 10101 本题的关键在找规律

1065 01字符串

1065 01字符串 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description 输出仅有0和1组成的长度为n的字符串,并且其中不能含有3个连续的相同子串. 输入描述 Input Description 输入文件只有一行一个整数n,表示有0和1组成的字符串的长度.0<=n<=30. 输出描述 Output Description 输出文件只有一行一个整数,表示所有满足条件的字符串的个数. 样例输入 Sample Inp

nyoj860--又见01背包**************

又见01背包 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述     有n个重量和价值分别为wi 和 vi 的 物品,从这些物品中选择总重量不超过 W 的物品,求所有挑选方案中物品价值总和的最大值. 1 <= n <=100 1 <= wi <= 10^7 1 <= vi <= 100 1 <= W <= 10^9 输入 多组测试数据.每组测试数据第一行输入,n 和 W ,接下来有n行,每行输入两个数,代表第i个物品的wi 和