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

             

            国内精品久久久久影院免费| 777米奇久久最新地址| 思思久久99热免费精品6| 亚洲中文字幕无码一久久区| 97超级碰碰碰久久久久| 欧美激情精品久久久久久| 欧美喷潮久久久XXXXx| 久久996热精品xxxx| 欧美大香线蕉线伊人久久| 亚洲国产精品人久久| 久久人人爽人人爽人人片AV不 | 亚洲精品视频久久久| 综合久久国产九一剧情麻豆| 一级做a爰片久久毛片16| 亚洲精品乱码久久久久久自慰| 久久九九免费高清视频| 波多野结衣久久一区二区| 狠狠久久综合伊人不卡| 亚洲国产另类久久久精品| 性做久久久久久免费观看| 国产亚洲精久久久久久无码AV| 精品国际久久久久999波多野| 欧美国产成人久久精品| 欧美久久综合九色综合| 精品国产乱码久久久久久浪潮| 亚洲精品成人久久久| 国产精品成人无码久久久久久| …久久精品99久久香蕉国产| 久久久www免费人成精品| 青青热久久国产久精品| 精品欧美一区二区三区久久久 | 麻豆亚洲AV永久无码精品久久 | 亚洲国产成人精品无码久久久久久综合 | 麻豆国内精品久久久久久| 国产精品VIDEOSSEX久久发布| 精品永久久福利一区二区| 久久夜色精品国产网站| 久久精品蜜芽亚洲国产AV| 国产成人精品综合久久久| 久久精品国产男包| 亚洲精品蜜桃久久久久久|