zoukankan      html  css  js  c++  java
  • BZOJ1607: [Usaco2008 Dec]Patting Heads 轻拍牛头

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

    Time Limit: 3 Sec  Memory Limit: 64 MB
    Submit: 779  Solved: 404
    [Submit][Status]

    Description

      今天是贝茜的生日,为了庆祝自己的生日,贝茜邀你来玩一个游戏.
        贝茜让N(1≤N≤100000)头奶牛坐成一个圈.除了1号与N号奶牛外,i号奶牛与i-l号和i+l号奶牛相邻.N号奶牛与1号奶牛相邻.农夫约翰用很多纸条装满了一个桶,每一张包含了一个独一无二的1到1,000,000的数字.
        接着每一头奶牛i从柄中取出一张纸条Ai.每头奶牛轮流走上一圈,同时拍打所有编号能整除在纸条上的数字的牛的头,然后做回到原来的位置.牛们希望你帮助他们确定,每一头奶牛需要拍打的牛.

    Input

        第1行包含一个整数N,接下来第2到N+1行每行包含一个整数Ai.

    Output

     
        第1到N行,每行的输出表示第i头奶牛要拍打的牛数量.

    Sample Input

    5 //有五个数,对于任一个数来说,其它的数有多少个是它的约数
    2
    1
    2
    3
    4

    INPUT DETAILS:

    The 5 cows are given the numbers 2, 1, 2, 3, and 4, respectively.

    Sample Output

    2
    0
    2
    1
    3

    OUTPUT DETAILS:

    The first cow pats the second and third cows; the second cows pats no cows;
    etc.

    HINT

     

    Source

    题解:
    竟然是筛法。。。想了好久没思路果断看题解。。。
    这么暴力的思路?不过时间复杂度倒也不高
    主要是没往这方面想。。。
    代码:
     1 var a,b,c:array[0..1500000] of longint;
     2     i,max,j,n:longint;
     3 begin
     4   assign(input,'input.txt');assign(output,'output.txt');
     5   reset(input);rewrite(output);
     6   max:=0;
     7   readln(n);for i:=1 to n do begin readln(a[i]);if a[i]>max then max:=a[i];inc(b[a[i]]);end;
     8   for i:=1 to max do
     9    if b[i]<>0 then
    10     begin
    11       j:=i;
    12       while j<=max do
    13        begin
    14          inc(c[j],b[i]);
    15          inc(j,i);
    16        end;
    17     end;
    18   for i:=1 to n do writeln(c[a[i]]-1);
    19   close(input);close(output);
    20 end.   
    View Code
  • 相关阅读:
    Windows Phone 开发 MD5计算
    php 3des加密算法以及与java,.net,c#的交互的一致性
    <加密算法c#>——— 3DES加密之ECB模式 和 CBC模式
    Blend PathListBox 使用
    计算机的几种类型单词、快捷键
    【SQL Server】 数据定义语言(定义基本表、完整性约束实现、索引)
    【SQL Server】 数据查询语句
    【WindowsPhone】 独立存储
    终结,铭记
    Day 3,4,5
  • 原文地址:https://www.cnblogs.com/zyfzyf/p/3907921.html
Copyright © 2011-2022 走看看