• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            ACM___________________________

            ______________白白の屋
            posts - 182, comments - 102, trackbacks - 0, articles - 0
            <2010年10月>
            262728293012
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            常用鏈接

            留言簿(24)

            隨筆分類(332)

            隨筆檔案(182)

            FRIENDS

            搜索

            積分與排名

            最新隨筆

            最新評論

            閱讀排行榜

            評論排行榜

            HDU 2574 HDOJ 2574 Hdu Girls' Day ACM 2574 IN HDU

            Posted on 2010-11-16 19:43 MiYu 閱讀(829) 評論(0)  編輯 收藏 引用 所屬分類: ACM ( 水題 )

            MiYu原創, 轉帖請注明 : 轉載自 ______________白白の屋    

             

            因為 大于 1 << 16 的和數都能用 1 -- 1<<16 之間的素數表示, 不能表示的肯定是 素數了, 所以處理 1-- 1<<16之間的素數就可以了.

            不過貌似這題的數據很弱沒有大于 1 << 16 的素數. 

             

             代碼

            #include <iostream>
            #include <algorithm>
            #include <string>
            #include <set>
            #include <map>
            #include <utility>
            #include <queue>
            #include <stack>
            #include <vector>
            #include <cstdio>
            #include <cstdlib>
            #include <cstring>
            #include <cmath>
            using namespace std;

            struct type
            {
              char name[30];
              int num;
            }a[1005];

            const int MAX_PRIME =  1 << 16;
            # define PRIME_NUM 35000
            int Primes[PRIME_NUM + 10] ;
            bool  PrimeBuffer[MAX_PRIME];
            int _Count = 0;
            int GetPrimes ()
            {
            int i, j ;
            for (i = 2 ; i < MAX_PRIME ; i++)
            {
            if (PrimeBuffer[i] == 0)
            Primes[_Count++] = i ;
            for (j = 0 ; j < _Count && i * Primes[j] <= MAX_PRIME ; j++)
            {
            PrimeBuffer[i * Primes[j]] = 1 ;
              if (i % Primes[j] == 0) break ;
            }
            }
            free (PrimeBuffer) ;
            return _Count ;
            }
            inline bool scan_d(int &num)  //整數輸入
            {
                    char in;bool IsN=false;
                    in=getchar();
                    if(in==EOF) return false;
                    while(in!='-'&&(in<'0'||in>'9')) in=getchar();
                    if(in=='-'){ IsN=true;num=0;}
                    else num=in-'0';
                    while(in=getchar(),in>='0'&&in<='9'){
                            num*=10,num+=in-'0';
                    }
                    if(IsN) num=-num;
                    return true;
            }
            int main ()
            {
                int T;
                GetPrimes ();
                scan_d(T);
                while ( T -- ) {
                    int N;
                    scan_d( N );
                    int ma = -1;
                    char mi[30] = "{";
                    
                    for ( int i = 0 ; i < N ; ++ i ) {
                          scanf ( "%s",a[i].name);
                          scan_d( a[i].num );
                          int cnt = 0;
                          for ( int j = 0 ; j < _Count && a[i].num > 1 ; ++ j ) {
                                if ( a[i].num%Primes[j]==0 ) {
                                    while(a[i].num%Primes[j]==0)
                                    {
                                       a[i].num /= Primes[j];
                                    }
                                    cnt++;      
                                }
                          }
                          if ( cnt == 0 ) cnt = 1;  // 沒加這句也能A 說明沒有 1 和 超過1<<16的素數
                          if ( ma < cnt ) { ma = cnt; strcpy ( mi, a[i].name ); }
                          else if ( ma == cnt ) { 
                               if ( strcmp ( a[i].name, mi ) < 0 )
                                    strcpy ( mi, a[i].name );     
                          }
                    }
                    puts(mi);
                }
                return 0;
            }

             

            国产三级精品久久| 精品久久久久久久| 亚洲人成精品久久久久| 久久99精品国产麻豆宅宅| 日韩精品无码久久久久久| 99久久99久久久精品齐齐| 国产激情久久久久影院老熟女| 久久99热这里只有精品国产| 久久精品国产亚洲av麻豆图片| 国产亚洲欧美成人久久片| 亚洲午夜精品久久久久久app| 国产成人久久精品激情| 久久亚洲精品无码aⅴ大香| 品成人欧美大片久久国产欧美 | 久久偷看各类wc女厕嘘嘘| 久久99国产精品99久久| 久久国产劲爆AV内射—百度| 久久狠狠一本精品综合网| 久久99精品国产自在现线小黄鸭 | 7777久久亚洲中文字幕| 国产精品久久久久久久人人看| 久久亚洲国产欧洲精品一| 久久综合狠狠综合久久综合88| 亚洲中文字幕伊人久久无码| 国产精品美女久久久久av爽| 日本精品久久久中文字幕| 久久久久亚洲AV无码永不| 亚洲精品无码专区久久久| 7777精品伊人久久久大香线蕉| 欧美久久天天综合香蕉伊| 欧美久久一区二区三区| 久久久久久久国产免费看| 久久久久99精品成人片| 欧美成a人片免费看久久| 精品无码久久久久久国产| 久久国产精品偷99| 久久亚洲中文字幕精品一区| 国产福利电影一区二区三区久久久久成人精品综合 | 777久久精品一区二区三区无码| 精品久久久噜噜噜久久久| 久久精品99久久香蕉国产色戒|