首页 > ACM题库 > HDU-杭电 > HDU 3184-All Can Do-搜索-[解题报告]HOJ
2014
03-06

HDU 3184-All Can Do-搜索-[解题报告]HOJ

All Can Do

问题描述 :

Construct a number N follows three below restrictions:
1. T-1 <= Log10N < T, ( 0 < T <= 100 )
2. 90 mod b = 0
3. N mod b = 0
Please help me find the biggest N.

输入:

The first line contains an integer t means the number of test cases.
Then each line will contain two integers T and b.

输出:

The first line contains an integer t means the number of test cases.
Then each line will contain two integers T and b.

样例输入:

3
2 45
1 10
2 5

样例输出:

90
Impossible!
95

月赛挂零,今天终于很猪地把这题过了。

我今天去市区买了数据结构等等若干书。本来计划要割POJ的,无奈被要求一周搞定搜索,我一看书发现这个完全超越我智力范围啊…没办法了,奋起直追了!

纯C,最爱。

#include<stdio.h>
int main(void)
{
int t,T,b,i,N;
scanf("%d",&t);
while(t–)
{
   scanf("%d%d",&T,&b);
   if(90%b)
   {printf("Impossible!\n");}
   else
   {
    if(T<2)
    {
     N=0;
     for(i=9;i>0;i–)
     {if(i%b==0){N=i;break;}}
     if(N)
     {
      printf("%d\n",N);
     }
     else
     {printf("Impossible!\n");}
    }
    else
    {
     for(i=99;i>=0;i–)
     {
      if(i%b==0){N=i;break;}
     }
     for(i=1;i<T-1;i++)
     {printf("9");}
     printf("%02d\n",N);
    }
   }
}
return 0;
}

参考:http://hi.baidu.com/hjayzssczsdtuyr/item/4499c42cb5a8eb0876272c94


  1. “再把所有不和该节点相邻的节点着相同的颜色”,程序中没有进行不和该节点相邻的其他节点是否相邻进行判断。再说求出来的也不一样是颜色数最少的

  2. 思路二可以用一个长度为k的队列来实现,入队后判断下队尾元素的next指针是否为空,若为空,则出队指针即为所求。