bzoj1607: [Usaco2008 Dec]Patting Heads 轻拍牛头

来源:互联网 发布:mac 查看磁盘剩余空间 编辑:程序博客网 时间:2024/05/22 04:32

题目传送门
水题。

解法:
这道题打个暴力都水过了。。

代码实现:

#include<cmath>#include<cstdio>#include<cstring>#include<cstdlib>#include<iostream>#include<algorithm>using namespace std;int s[1100000];int a[110000],n;int main() {    scanf("%d",&n);    memset(s,0,sizeof(s));    for(int i=1;i<=n;i++) {        scanf("%d",&a[i]);        s[a[i]]++;    }    for(int i=1;i<=n;i++) {        int t=int(sqrt(double(a[i]+1)));        int ans=0;        for(int j=1;j<=t;j++)             if(a[i]%j==0) {                ans+=s[j];ans+=s[a[i]/j];            }        if(t*t==a[i])            ans-=s[t];        printf("%d\n",ans-1);    }    return 0;}
原创粉丝点击