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

            Uriel's Corner

            Research Associate @ Harvard University / Research Interests: Computer Vision, Biomedical Image Analysis, Machine Learning
            posts - 0, comments - 50, trackbacks - 0, articles - 594
            這套題糾結了一晚上。。

            1. 質因數的個數
                這個還比較水。。
            //2007年清華大學計算機研究生機試題 質因數的個數
            #include<math.h>
            #include
            <stdio.h>
            #include
            <stdlib.h>
            #include
            <string.h>

            int main() {
                
            int n, i, cnt;
                
            while(~scanf("%d"&n)) {
                    i 
            = 2; cnt = 1;
                    
            while(i <= sqrt(n)) {
                        
            if(n % i == 0{
                            n 
            /= i;
                            cnt
            ++;
                        }

                        
            else
                            
            ++i;
                    }

                    printf(
            "%d\n", cnt);
                }

                
            return 0;
            }


            2. 10進制 VS 2進制
                這題木有什么好想法。。發現網上一位大牛http://blog.csdn.net/herechaos/article/details/5397430也是直接做的。。就直接模擬之了。。結果就是跑得暴慢。。路過的大牛有什么好想法的不吝賜教啊。。
                PS: 方法見上面鏈接的大牛Blog,不過網上這位大牛的源碼AC不能,有幾處小bug。。
            //2007年清華大學計算機研究生機試題 10進制 VS 2進制
            #include<stdio.h>
            #include
            <stdlib.h>
            #include
            <string.h>

            int b[8010], c[80100], la, lb, lc;
            char a[8010];

            void pw(int x) {
                
            int i, j, k;
                memset(c, 
            0sizeof(c));
                c[
            0= 1;
                lc 
            = 1;
                
            for(i = 0; i < x; ++i) {
                    
            for(j = 0; j < lc; ++j) c[j] *= 2;
                    
            for(k = 0; k < lc || c[k]; ++k) {
                        c[k 
            + 1+= (c[k] / 10);
                        c[k] 
            %= 10;
                    }

                    lc 
            = k;
                }

                la 
            = (lc > la ? lc : la) + 1;
                
            for(i = 0; i < la; ++i) {
                    a[i] 
            += c[i];
                    a[i 
            + 1+= (a[i] / 10);
                    a[i] 
            %= 10;
                }

            }


            void div() {
                
            int i, j, cf, st, tp;
                la 
            = strlen(a);
                
            for(i = 0; i < la; ++i) a[i] -= '0';
                st 
            = 0;
                lb 
            = 0;
                
            while(a[la - 1|| st < la) {
                    
            if(a[la - 1& 1) b[lb++= 1;
                    
            else
                        b[lb
            ++= 0;
                    cf 
            = 0;
                    
            for(j = st; j < la; ++j) {
                        tp 
            = cf * 10 + a[j];
                        a[j] 
            = tp >> 1;
                        cf 
            = tp & 1;
                    }

                    
            if(!a[st]) st++;
                }

                memset(a, 
            0sizeof(a));
                
            for(i = 0; i < lb; ++i)
                    
            if(b[i]) pw(lb - i - 1);
                
            while(!a[la - 1]) la--;
            }


            int main() {
                
            while(~scanf("%s", a)) {
                    
            if(!strcmp(a, "0")) puts("0");
                    
            else {
                        div();
                        
            for(int i = la - 1; i >= 0--i) printf("%d", a[i]);
                        puts(
            "");
                    }

                }

                
            return 0;
            }


            3. 最小郵票數
                01背包。。一開始NC忘記判輸出0的情況了。。WA*n
            //2007年清華大學計算機研究生機試題 最小郵票數
            #include<stdio.h>
            #include
            <stdlib.h>
            #include
            <string.h>
            #include
            <algorithm>
            using namespace std;
            #define INF 0x3f3f3f3f

            int n, m, dp[1000], w[100];

            int main() {
                
            int i, j;
                
            while(~scanf("%d"&m)) {
                    scanf(
            "%d"&n);
                    
            for(i = 0; i < n; ++i) scanf("%d"&w[i]);
                    
            for(i = 1; i <= m; ++i) dp[i] = INF;
                    dp[
            0= 0;
                    
            for(i = 0; i < n; ++i) {
                        
            for(j = m; j >= w[i]; --j) {
                            
            if(dp[j - w[i]] == INF) continue;
                            
            else
                                dp[j] 
            = min(dp[j], dp[j - w[i]] + 1);
                        }

                    }

                    
            if(dp[m] == INF) puts("0");
                    
            else
                        printf(
            "%d\n", dp[m]);
                }

                
            return 0;
            }

            Feedback

            # re: 清華大學計算機研究生機試題-2007年[未登錄]  回復  更多評論   

            2012-02-19 22:45 by lau
            第一個你貌似跑的話會超時。你可以嘗試一下

            # re: 清華大學計算機研究生機試題-2007年  回復  更多評論   

            2012-02-19 23:13 by Uriel
            @lau
            嘗試又交了一次,10ms AC(九度OJ)
            不過我這個確實是過于偷懶,暴力了。。= =||
            有更快的方法分解質因數,我也沒太搞過。。
            久久亚洲精品无码播放| 久久精品国产亚洲AV嫖农村妇女| 久久精品无码免费不卡| 热99RE久久精品这里都是精品免费| 久久丫忘忧草产品| 久久精品9988| 一本一本久久A久久综合精品| 久久精品国产精品国产精品污| 欧美日韩精品久久久免费观看| 青草影院天堂男人久久| 热re99久久精品国99热| 午夜视频久久久久一区| 91久久九九无码成人网站 | 亚洲va中文字幕无码久久| 97久久精品人人做人人爽| 久久亚洲中文字幕精品有坂深雪| 亚洲七七久久精品中文国产 | 97超级碰碰碰久久久久| 久久久一本精品99久久精品88| 久久99精品免费一区二区| 99久久99久久精品免费看蜜桃| 国产精品99久久久精品无码| 亚洲人AV永久一区二区三区久久| 久久久久亚洲AV成人网| 99久久伊人精品综合观看| 久久线看观看精品香蕉国产| 2021精品国产综合久久| 亚洲第一极品精品无码久久| 性做久久久久久久| 色欲综合久久躁天天躁蜜桃| 亚洲精品乱码久久久久久久久久久久| 亚洲欧美一级久久精品| 97久久国产露脸精品国产| 97久久婷婷五月综合色d啪蜜芽| 无码日韩人妻精品久久蜜桃| 亚洲AV无码一区东京热久久| 久久人人爽人人爽人人AV| 久久天天躁狠狠躁夜夜avapp | 久久精品无码一区二区三区日韩 | 久久精品成人免费观看97| 国产精品欧美久久久久无广告|