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

USACO silver系列刷题记录

时间:2017-08-10 10:07:57      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:div   open   --   main   ++   pen   blog   amp   ret   

bzoj 1606: [Usaco2008 Dec]Hay For Sale 购买干草

技术分享
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int read(){
    int ans=0,f=1,c=getchar();
    while(c<0||c>9){if(c==-) f=-1; c=getchar();}
    while(c>=0&&c<=9){ans=ans*10+(c-0); c=getchar();}
    return ans*f;
}
int h,n,f[50007],k;
int main()
{
    h=read(); n=read();
    f[0]=1;
    for(int i=1;i<=n;i++){
        k=read();
        for(int j=h;j>=k;j--) if(f[j-k]) f[j]=1;
    }
    for(int i=h;i>=0;i--)if(f[i]){printf("%d\n",i); break;}
    return 0;
}
View Code

 bzoj 1607: [Usaco2008 Dec]Patting Heads 轻拍牛头

技术分享
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int read(){
    int ans=0,f=1,c=getchar();
    while(c<0||c>9){if(c==-) f=-1; c=getchar();}
    while(c>=0&&c<=9){ans=ans*10+(c-0); c=getchar();}
    return ans*f;
}
int n,f[1000007],v[100007],ans[1000007];
int main()
{
    n=read();
    for(int i=1;i<=n;i++) v[i]=read(),f[v[i]]++;
    for(int i=1;i<=(int)1e6;i++)if(f[i]){
        for(int j=i;j<=(int)1e6;j+=i) if(f[j]) ans[j]+=f[i];
    }
    for(int i=1;i<=n;i++) printf("%d\n",ans[v[i]]-1);
    return 0;
}
View Code

 

USACO silver系列刷题记录

标签:div   open   --   main   ++   pen   blog   amp   ret   

原文地址:http://www.cnblogs.com/lyzuikeai/p/7337187.html

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