hdu3189--Just Do It(简单模拟)

直接按照题意模拟就行了

View Code
 1 //Accepted    3189    0MS    244K    502 B    C++
 2 #include <stdio.h>
 3 #include <string.h>
 4 int flag[1001];
 5 int ans[101];
 6 
 7 void init()
 8 {
 9     memset(flag,0,sizeof(flag));
10     memset(ans,0,sizeof(ans));
11     for(int i=1;i<1001;i++)
12     {
13         int j = 1;
14         while(i * j < 1001)
15         {
16             flag[ i * j ]++;
17             j++;
18         }
19         if(ans[flag[i]] == 0)
20         {
21             ans[flag[i]] = i;
22         }
23     }
24 }
25 int main(void)
26 {
27     init();
28     int n,k;
29     scanf("%d",&n);
30     while(n--)
31     {
32         scanf("%d",&k);
33         if(ans[k])
34             printf("%d\n",ans[k]);
35         else
36             printf("-1\n");
37     }
38     return 0;
39 }
posted @ 2012-09-21 19:42  Wheat″  阅读(255)  评论(0)    收藏  举报