• <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年9月>
            2930311234
            567891011
            12131415161718
            19202122232425
            262728293012
            3456789

            常用鏈接

            留言簿(24)

            隨筆分類(332)

            隨筆檔案(182)

            FRIENDS

            搜索

            積分與排名

            最新隨筆

            最新評論

            閱讀排行榜

            評論排行榜

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

            Posted on 2010-11-16 19:43 MiYu 閱讀(813) 評論(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精品久久久久久| 亚洲精品无码成人片久久| 精品精品国产自在久久高清| 久久亚洲精品国产精品婷婷| 97久久精品人妻人人搡人人玩| 久久伊人五月天论坛| 国产精品女同久久久久电影院| 久久久久国产精品嫩草影院| 久久er99热精品一区二区| 久久伊人影视| 久久97久久97精品免视看秋霞 | 久久综合给合久久国产免费| 久久中文字幕视频、最近更新 | 久久91精品综合国产首页| 亚洲人成网亚洲欧洲无码久久| 国产69精品久久久久99尤物| 色婷婷综合久久久久中文 | 国产精品热久久无码av| 久久综合狠狠综合久久综合88| 欧美日韩中文字幕久久久不卡| 国产成人无码精品久久久免费| 精品国产VA久久久久久久冰| 一本一本久久aa综合精品| 欧美伊人久久大香线蕉综合69| 久久99国产精品99久久| www.久久精品| 久久99热国产这有精品| 国产精品久久波多野结衣| 午夜精品久久久久久久久| 久久婷婷国产剧情内射白浆| 欧美精品一区二区久久| 亚洲欧美成人久久综合中文网 | 久久婷婷色综合一区二区| 久久婷婷国产剧情内射白浆| 伊人久久综合精品无码AV专区|