• <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

            搜索

            積分與排名

            最新隨筆

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            MiYu原創(chuàng), 轉(zhuǎn)帖請(qǐng)注明 : 轉(zhuǎn)載自 ______________白白の屋    

             

            因?yàn)?大于 1 << 16 的和數(shù)都能用 1 -- 1<<16 之間的素?cái)?shù)表示, 不能表示的肯定是 素?cái)?shù)了, 所以處理 1-- 1<<16之間的素?cái)?shù)就可以了.

            不過(guò)貌似這題的數(shù)據(jù)很弱沒(méi)有大于 1 << 16 的素?cái)?shù). 

             

             代碼

            #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)  //整數(shù)輸入
            {
                    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;  // 沒(méi)加這句也能A 說(shuō)明沒(méi)有 1 和 超過(guò)1<<16的素?cái)?shù)
                          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;
            }

             

            91久久精品电影| 青青草原综合久久| 久久无码AV中文出轨人妻| 久久天堂AV综合合色蜜桃网 | 99精品久久精品一区二区| 久久精品国产亚洲AV不卡| 久久婷婷激情综合色综合俺也去| 久久精品夜夜夜夜夜久久| 漂亮人妻被中出中文字幕久久| 色综合久久久久无码专区| 久久笫一福利免费导航 | 精品久久久久中文字幕日本| 午夜精品久久久久久久无码| 狠狠干狠狠久久| 国产V综合V亚洲欧美久久| 久久中文精品无码中文字幕| 韩国三级中文字幕hd久久精品| 国产人久久人人人人爽| 久久综合伊人77777麻豆| 欧美黑人激情性久久| 亚洲国产精品成人AV无码久久综合影院 | 亚洲一区中文字幕久久| 久久久久国产精品嫩草影院| 中文字幕无码久久精品青草| 国产精品对白刺激久久久| 久久久这里有精品| 狠狠色综合久久久久尤物| 国产亚洲综合久久系列| 精品久久久无码21p发布| 欧美亚洲日本久久精品| 久久高清一级毛片| 国产成人久久久精品二区三区| 精品无码久久久久久国产| 色综合久久综合网观看| 婷婷综合久久狠狠色99h| 国产99久久精品一区二区| 人妻精品久久久久中文字幕69| 亚洲va国产va天堂va久久| 精品久久久中文字幕人妻| 香蕉久久av一区二区三区| 精品无码久久久久国产动漫3d|