加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 3543 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   

頭像
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: *
推文 x 鮮花 x
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[C/C++][求助] 有個ACM10141的問題

訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容



獻花 x0 回到頂端 [樓 主] | Posted:2008-07-04 20:58 |
daviddr
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x7
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片


ACM 一般是讀文字檔作為輸入,非手動輸入。
這是我的解法,妳可以對照著去 debug。
複製程式
int main()
{
    FILE* f;
    float cost[100], max_cost;
    int   chk[100], max_chk;
    int   round=0, i, n, p, nCo, nItem, i_cost, i_chk;
    char  co[100][80], t[80];
    f = fopen ("rfp.txt", "rt");

    while (!feof(f))
    {
        round++;
        fscanf (f,"%d %d\n", &n, &p);
        if (0 == n+p) break;
        for (i=0; i<n; i++) fgets (t,80,f);

        max_cost = max_chk = i_cost = i_chk = 0;
        for (i=0; i<p; i++) {
            fgets (co[i],80,f);
            fscanf (f,"%f %d\n", cost+i, chk+i);
            for (n=0; n<chk[i]; n++) fgets (t,80,f);
            if (chk[i] > max_chk) max_chk = chk[i], i_chk = i;            
        }
        for (n=i=0; i<p; i++) 
            if (chk[i] == max_chk) n++;

        if (n > 1)
            for (i_chk=i=0; i<p; i++)
                if (chk[i] == max_chk && cost[i] > max_cost) 
                    max_cost = cost[i], i_chk = i;

        printf ("RFP #%d\n%s\n", round, co[i_chk]);        
    }    
    fclose(f);
    getch();
    return 0;
}


獻花 x0 回到頂端 [1 樓] From:臺灣中華 | Posted:2008-07-06 05:04 |
hannah93135
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

噢噢~
謝謝你︿︿
不過我發現我不能登入acm耶= =


獻花 x0 回到頂端 [2 樓] From:臺灣中華電信 | Posted:2008-07-07 12:09 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.012160 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言