NOIP2009细胞分裂

NOIP2009细胞分裂
当年的一道很讨厌的题,其实就是道数学题。
(P.s.那时候我代码风格很坏,不要看)
 1  #include  < stdio.h >
 2  int  hashbiao[ 30001 ];
 3  int  main()
 4  {
 5       int  n , m , t , i , j , js  =   0  , maxz  =   0  , max  =   0  , min  =   100000 ;
 6      scanf( " %d%d%d " & n,  & m,  & t);
 7       long   long  shuju[n  +   1 ];  // 其实这么写不太好 不过当时是这么写的,现在懒得改了 
 8       for  (i  =   0  ; i  <  n ; i ++ )
 9          scanf( " %lld " & shuju[i]);
10       if  (m  ==   1 )
11          printf( " 0\n " );
12       else
13      {
14           i  =   2 ;
15            while  (m  !=   1 )
16           {
17                 while  (m  %  i  ==   0 )
18                {
19                     m  /=  i;
20                     hashbiao[i] ++ ;
21                }
22                 if  (i  >  maxz)
23                     maxz  =  i;
24                hashbiao[i ++ *=  t;
25           }
26            int  ans  =   0 ;
27            for  (i  =   0  ; i  <  n ; i ++ )
28           {
29                max  =   0 ;
30                 for  (j  =   2  ; j  <=  maxz ; j ++ )
31                {
32                      if  (hashbiao[j]  ==   0 )
33                           continue ;
34                     js  =   0 ;
35                      while  (shuju[i]  %  j  ==   0 )
36                     {
37                          shuju[i]  /=  j;
38                          js ++ ;
39                     }
40                      if  ( ! js)
41                     {
42                          max  =   100000 ;
43                           break ;
44                     }
45                      if  ((hashbiao[j]  -   1 /  js  >  max)
46                          max  =  (hashbiao[j]  -   1 /  js;
47                }
48                 if  (max  <  min)
49                {
50                     min  =  max;
51                     ans  =  max;
52                }
53           }
54            if  (ans  ==   0 )
55               printf( " -1\n " );
56            else
57               printf( " %d\n " , ans  +   1 );
58      }
59       return   0 ;
60  }
61 

你可能感兴趣的:(NOIP2009细胞分裂)