码迷,mamicode.com
首页 > 其他好文 > 详细

BZOJ 1607 Usaco 轻拍牛头

时间:2017-09-08 20:30:56      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:std   题目   nbsp   ems   amp   can   color   return   ret   

自己和sb一样,这种题目都会WA。难受~
先读入统计一遍所有的数
之后因为每个数只会被最小的因数除去
所以枚举每个数的倍数.

 1 #include <cstdio>
 2 #include <cstring>
 3  
 4 int n;
 5 int now[100005],vis[1000005],ask[1000005];
 6  
 7 int main(){
 8     memset(ask,-1,sizeof(ask));
 9     scanf("%d",&n);
10     for(int i=1;i<=n;i++){
11         scanf("%d",&now[i]);
12         vis[now[i]]++;
13     }
14     for(register int i=1;i<=1000000;i++){
15         if(vis[i]){
16             for(int j=1;j<=1000000 && i*j<=1000000;j++){
17                 ask[i*j]+=vis[i];
18             }
19         }
20     }
21     for(int i=1;i<=n;i++){
22         printf("%d\n",ask[now[i]]);
23     }
24     return 0;
25 }

 

BZOJ 1607 Usaco 轻拍牛头

标签:std   题目   nbsp   ems   amp   can   color   return   ret   

原文地址:http://www.cnblogs.com/OIerLYF/p/7495999.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!