• <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年8月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            2930311234

            常用鏈接

            留言簿(24)

            隨筆分類(332)

            隨筆檔案(182)

            FRIENDS

            搜索

            積分與排名

            最新隨筆

            最新評論

            閱讀排行榜

            評論排行榜

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

            Posted on 2010-11-16 19:43 MiYu 閱讀(814) 評論(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小说| 精品综合久久久久久888蜜芽| 亚洲中文字幕无码久久2017| 久久久久亚洲精品天堂| 国产精品久久久久久久久久免费| 久久无码AV中文出轨人妻| 精品久久久久久中文字幕大豆网 | 久久天天躁狠狠躁夜夜96流白浆| 久久综合狠狠综合久久| 色综合合久久天天给综看| 亚洲国产精品久久久天堂| 国产精品欧美久久久久无广告 | 欧美粉嫩小泬久久久久久久 | 久久精品国产清自在天天线| 国产综合久久久久| 国产精品久久久久免费a∨| 日本道色综合久久影院| 久久久久免费精品国产| 国产精品gz久久久| 久久久精品人妻一区二区三区蜜桃 | 国产精品久久成人影院| 久久99精品久久久久久不卡| 久久国产精品99国产精| 久久这里只有精品首页| 国内精品久久久久久久影视麻豆| 国产亚洲精久久久久久无码| 97精品国产97久久久久久免费 | 久久无码人妻一区二区三区午夜| 久久精品这里只有精99品| 国产日产久久高清欧美一区| 人妻丰满AV无码久久不卡| 国产毛片欧美毛片久久久 | 人妻精品久久久久中文字幕69 | 韩国免费A级毛片久久| 亚洲中文字幕无码久久2020 | 精品一二三区久久aaa片| 久久无码中文字幕东京热| 国产精品99久久久精品无码| 色狠狠久久综合网| 中文精品99久久国产|