zoukankan      html  css  js  c++  java
  • hdu 4474

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4474

    思路:bfs,用pre[]来记录到达u的前一个结点,num[]来保存当前数的最后一位。

    具体见代码:

    View Code
     1 #include<iostream>
     2 #include<cstring>
     3 #include<queue>
     4 const int N=10010;
     5 using namespace std;
     6 int n,m;
     7 int a[10];
     8 int pre[N],num[N];
     9 
    10 void print(int u){
    11     if(pre[u]!=-1)print(pre[u]);//pre[]保存的是形成u的前一个结点,直到为-1;
    12     printf("%d",num[u]);//由于num[]保存的记录u的最后一个数字,应此应该逆序输出
    13 }
    14 
    15 void bfs(){
    16     queue<int>Q;
    17     for(int i=1;i<=9;i++)if(!a[i]){
    18         int t=i%n;
    19         if(t==0){
    20             printf("%d",i);
    21             return ;
    22         }
    23         Q.push(t);
    24         num[t]=i;
    25     }
    26     while(!Q.empty()){
    27         int u=Q.front();
    28         Q.pop();
    29         for(int i=0;i<=9;i++)if(!a[i]){
    30             int t=(u*10+i)%n;
    31             if(num[t]==-1){
    32                 Q.push(t);
    33                 pre[t]=u;//由于记录到达t的前一个结点u;
    34                 num[t]=i;//记录形成t的最后一位数字
    35             }
    36             if(t==0){
    37                 print(t);
    38                 return ;
    39             }
    40         }
    41     }
    42     printf("-1");
    43 }
    44 
    45 
    46 int main(){
    47     int _case=1;
    48     while(~scanf("%d%d",&n,&m)){
    49         memset(a,0,sizeof(a));
    50         memset(pre,-1,sizeof(pre));
    51         memset(num,-1,sizeof(num));
    52         int x;
    53         while(m--){
    54             scanf("%d",&x);
    55             a[x]=1;
    56         }
    57         printf("Case %d: ",_case++);
    58         bfs();
    59         printf("\n");
    60     }
    61     return 0;
    62 }
  • 相关阅读:
    N皇后问题
    SDNU1349.快速幂入门
    SDNU1522.陆历川学数学
    埃氏筛
    快速幂
    string函数
    Golang介绍以及安装
    Promise解决回调地狱(多层调用问题)
    JavaScript动画相关
    ES6简单语法
  • 原文地址:https://www.cnblogs.com/wally/p/2978645.html
Copyright © 2011-2022 走看看