• <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. 最小長(zhǎng)方形
                就是分別找到x, y的最小, 最大值, 水題, 不解釋

            //浙大計(jì)算機(jī)研究生復(fù)試上機(jī)考試-2007年 最小長(zhǎng)方形
            #include<stdio.h>
            #include
            <stdlib.h>
            #include
            <string.h>
            #include
            <algorithm>
            using namespace std;

            int mx, my, ax, ay, x, y;

            int main() {
                
            bool flg = false;
                
            while(1{
                    mx 
            = my = 300;
                    ax 
            = ay = -300;
                    
            while(scanf("%d %d"&x, &y)) {
                        
            if(!&& !&& flg) return 0;
                        
            if(!&& !y) {
                            flg 
            = true;
                            
            break;
                        }

                        mx 
            = min(mx, x);
                        my 
            = min(my, y);
                        ax 
            = max(ax, x);
                        ay 
            = max(ay, y);
                        flg 
            = false;
                    }

                    printf(
            "%d %d %d %d\n", mx, my, ax, ay);
                }

                
            return 0;
            }


             

            2. 統(tǒng)計(jì)字符
                大水, 不解釋

            //浙大計(jì)算機(jī)研究生復(fù)試上機(jī)考試-2007年 統(tǒng)計(jì)字符
            #include<stdio.h>
            #include
            <stdlib.h>
            #include
            <string.h>
            #include
            <algorithm>
            using namespace std;

            int cnt[300];
            char s[10], str[100];

            int main() {
                
            int i;
                
            while(gets(s), strcmp(s, "#")) {
                    gets(str);
                    memset(cnt, 
            0sizeof(cnt));
                    
            for(i = 0; str[i]; ++i) {
                        cnt[str[i]]
            ++;
                    }

                    
            for(i = 0; s[i]; ++i) {
                        printf(
            "%c %d\n", s[i], cnt[s[i]]);
                    }

                }

                
            return 0;
            }



            3. 游船出租
                大水, 不解釋

            //浙大計(jì)算機(jī)研究生復(fù)試上機(jī)考試-2007年 游船出租
            #include<stdio.h>
            #include
            <stdlib.h>
            #include
            <string.h>
            #define N 110

            struct boat{
                
            int id, st, tt, bg;
            }
            p[N];

            int cnt;
            double ti;

            int main() {
                
            int id, t, h, m;
                
            char op[3];
                
            while(1{
                    
            while(scanf("%d"&id)) {
                        
            if(id == -1return 0;
                        scanf(
            "%s %d:%d", op, &h, &m);
                        
            if(!id) break;
                        t 
            = h * 60 + m;
                        
            if(op[0== 'S'{
                            
            if(p[id].st == 1continue;
                            
            else {
                                p[id].st 
            = 1;
                                p[id].bg 
            = t;
                            }

                        }

                        
            else if(op[0== 'E'{
                            
            if(!p[id].st) continue;
                            
            else {
                                p[id].st 
            = 0;
                                ti 
            += t - p[id].bg;
                                cnt
            ++;
                            }

                        }

                    }

                    
            if(cnt)printf("%d %.0lf\n", cnt, ti / cnt);
                    
            else
                        puts(
            "0 0");
                    cnt 
            = 0;
                    ti 
            = 0.0;
                }

                
            return 0;
            }


             

            4. EXCEL排序
                考sort的大水題

            //浙大計(jì)算機(jī)研究生復(fù)試上機(jī)考試-2007年 EXCEL排序
            #include<stdio.h>
            #include
            <stdlib.h>
            #include
            <string.h>
            #include
            <algorithm>
            using namespace std;
            #define N 100010

            struct M {
                
            int sco;
                
            char id[10], name[10];
            }
            p[N];

            bool cmp1(M a, M b) {
                
            return strcmp(a.id, b.id) < 0;
            }


            bool cmp2(M a, M b) {
                
            if(strcmp(a.name, b.name))return strcmp(a.name, b.name) < 0;
                
            else
                    
            return strcmp(a.id, b.id) < 0;
            }


            bool cmp3(M a, M b) {
                
            if(a.sco != b.sco)return a.sco < b.sco;
                
            else
                    
            return strcmp(a.id, b.id) < 0;
            }


            int c, n;

            int main() {
                
            int i, g = 1;
                
            while(scanf("%d %d"&n, &c), n | c) {
                    
            for(i = 0; i < n; ++i) {
                        scanf(
            "%s %s %d", p[i].id, p[i].name, &p[i].sco);
                    }

                    
            if(c == 1) sort(p, p + n, cmp1);
                    
            else if(c == 2) sort(p, p + n, cmp2);
                    
            else if(c == 3) sort(p, p + n, cmp3);
                    printf(
            "Case %d:\n", g++);
                    
            for(i = 0; i < n; ++i)
                        printf(
            "%s %s %d\n", p[i].id, p[i].name, p[i].sco);
                }

                
            return 0;
            }


             

            5. 暢通工程
                注意重邊, 一開始有個(gè)地方NC了, 一開始我最后判'?'是算出最小生成樹的所有邊權(quán)值和大于INF就輸出'?', 這樣有可能每條邊其實(shí)都沒超過INF, 但總和超過了, 被我判成'?', 實(shí)際上這種情況是符合要求的. 改為判斷每條邊都小于INF就過了

            //浙大計(jì)算機(jī)研究生復(fù)試上機(jī)考試-2007年 暢通工程
            #include<stdio.h>
            #include
            <stdlib.h>
            #include
            <string.h>
            #include
            <algorithm>
            using namespace std;
            #define N 110
            #define INF 0x3f3f3f3f

            int n, m, ans, adj[N][N], lowcost[N], closest[N];

            void prim(int c[][N]) {
                
            bool s[N];
                s[
            1= true;
                
            for(int i = 2; i <= n; ++i) {
                    lowcost[i] 
            = c[1][i];
                    closest[i] 
            = 1;
                    s[i] 
            = false;
                }

                
            for(int i = 1; i < n; ++i) {
                    
            int mi = INF, j = 1;
                    
            for(int k = 2; k <= n; ++k)
                        
            if(lowcost[k] < mi && !s[k]) {
                            mi 
            = lowcost[k];
                            j 
            = k;
                        }

                        s[j] 
            = true;
                        
            for(int k = 2; k <= n; ++k)
                            
            if(c[j][k] < lowcost[k] && !s[k]) {
                                lowcost[k] 
            = c[j][k];
                                closest[k] 
            = j;
                            }

                }

            }


            int main() {
                
            int i, j, a, b, c;
                
            while(scanf("%d %d"&m, &n), m) {
                    
            for(i = 1; i <= n; ++i) {
                        
            for(j = 1; j <= n; ++j) {
                            
            if(i == j) adj[i][j] = 0;
                            
            else
                                adj[i][j] 
            = adj[j][i] = INF;
                        }

                    }

                    
            for(i = 0; i < m; ++i) {
                        scanf(
            "%d %d %d"&a, &b, &c);
                        adj[a][b] 
            = min(c, adj[a][b]);
                        adj[b][a] 
            = adj[a][b];
                    }

                    prim(adj);
                    ans 
            = 0;
                    
            bool ok = true;
                    
            for(i = 1; i <= n; ++i) {
                        
            if(lowcost[i] >= INF) {
                            ok 
            = false;
                            
            break;
                        }

                        ans 
            += lowcost[i];
                    }

                    
            if(!ok) puts("?");
                    
            else
                        printf(
            "%d\n", ans);
                }

                
            return 0;
            }


            6. 最大報(bào)銷額
                0-1背包, 以物品項(xiàng)數(shù)作為dp數(shù)組的下標(biāo)
                這題很坑爹, 那個(gè)單張發(fā)票中A, B, C三種物品以外的物品都不考慮, 而且這三種物品在同一張發(fā)票中可能重復(fù)出現(xiàn), 要把它們?nèi)悠饋? 單張發(fā)票的A或者B或者C都不能超過600.0 ... ...因?yàn)檫@個(gè)WA到死啊... ...

            //浙大計(jì)算機(jī)研究生復(fù)試上機(jī)考試-2007年 最大報(bào)銷額
            #include<stdio.h>
            #include
            <stdlib.h>
            #include
            <string.h>
            #define N 50

            struct tic {
                
            int nt;
                
            double mon;
            }
            p[N];

            int n, nn, aa, cnt[3];
            double q, ans, dp[10100];

            void DP() {
                
            for(int i = 0; i <= aa; ++i) dp[i] = 0;
                
            for(int i = 0; i < nn; ++i) {
                    
            for(int j = aa; j >= p[i].nt; --j) {
                        
            double tp = dp[j - p[i].nt] + p[i].mon;
                        
            if(dp[j] < tp && dp[j - p[i].nt] + p[i].mon <= q) dp[j] = tp;
                    }

                }

            }


            int main() {
                
            int i, j, k;
                
            char c[10];
                
            double x, tp, ttp;
                
            while(scanf("%lf %d"&q, &n), n) {
                    nn 
            = aa = 0;
                    
            for(i = 0; i < n; ++i) p[i].mon = 0.0;
                    
            for(i = 0; i < n; ++i) {
                        scanf(
            "%d"&p[nn].nt);
                        aa 
            += p[nn].nt;
                        
            bool ok = true;
                        cnt[
            0= cnt[1= cnt[2= 0;
                        
            for(j = 0; j < p[nn].nt; ++j) {
                            scanf(
            "%s", c);
                            
            if(c[0== 'A' || c[0== 'B' || c[0== 'C'{
                                
            for(k = 0; c[k] != ':'++k);
                                
            for(k++, tp = 0; c[k] != '.'++k) tp = tp * 10 + c[k] - '0';
                                
            for(ttp = 0, k = strlen(c) - 1; c[k] != '.'--k) ttp = ttp / 10 + c[k] - '0';
                                tp 
            += ttp / 10;
                                p[nn].mon 
            += tp;
                                cnt[c[
            0- 'A'+= tp;
                                
            if(cnt[c[0- 'A'> 600.0) ok = false;
                            }

                        }

                        
            if(ok && p[nn].mon <= 1000.0) nn++;
                    }

                    DP();
                    ans 
            = 0;
                    
            for(i = 0; i <= aa; ++i)
                        
            if(ans < dp[i]) ans = dp[i];
                    printf(
            "%.2lf\n", ans);
                }

                
            return 0;
            }



                發(fā)現(xiàn)茫茫多想考研的同學(xué)都復(fù)習(xí)了好多了, 表示還木有開始復(fù)習(xí)的鴨梨很大... ...
                不切水題玩了, 要開始好好復(fù)習(xí)了!!

            久久久久久久波多野结衣高潮| 亚洲精品无码专区久久同性男| 中文字幕久久精品无码| 亚洲中文字幕久久精品无码APP| 亚洲综合伊人久久综合| 国产一级持黄大片99久久| 久久精品国产亚洲av瑜伽| 97久久国产综合精品女不卡| 久久精品国内一区二区三区| 久久亚洲AV无码西西人体| 麻豆成人久久精品二区三区免费| 国产精品九九久久精品女同亚洲欧美日韩综合区| 久久久久成人精品无码| 色欲久久久天天天综合网| 久久精品视屏| 久久精品九九亚洲精品天堂| 久久SE精品一区二区| 久久精品视频91| 国产精品成人久久久久三级午夜电影| 亚洲AV无码久久精品色欲| 亚洲国产综合久久天堂| 国产99久久久国产精免费| 国产成人综合久久综合| 亚洲午夜久久久影院伊人| 欧美久久一区二区三区| 国产精品一区二区久久精品无码| 青草国产精品久久久久久| 人妻无码精品久久亚瑟影视| 久久久久久久免费视频| 精品无码久久久久久国产| 久久天天躁狠狠躁夜夜avapp| 四虎影视久久久免费| 久久99精品久久久久久不卡| 久久国产一区二区| 97精品久久天干天天天按摩| 欧美日韩精品久久久久| 香蕉久久永久视频| 7777精品伊人久久久大香线蕉| 欧美无乱码久久久免费午夜一区二区三区中文字幕 | 东方aⅴ免费观看久久av| 欧美久久久久久精选9999|