#2969: 幫忙看一下錯誤在哪?


ckck18 (cKcK)

學校 : 國立交通大學
編號 : 7981
來源 : [180.218.37.143]
最後登入時間 :
2013-09-19 23:58:22
d566. 秒殺率 -- jack1 | From: [60.198.139.5] | 發表日期 : 2009-12-12 00:52

以下為程式碼。 錯誤的地方為第三個測資  應為 0% 我的程式碼為 100% 。可以提示一下哪邊有問題嗎?謝謝
 
#include <iostream>
#include <map>
#include <string>

using namespace std;

int main()
{
int i, count, f_ACcount, s_ACcount;
string name, state;
map<string, bool> container;
map<string, bool>::iterator itr;

while( cin >> count ) 
{
f_ACcount = s_ACcount = 0;
for( i = 0 ; i < count ; ++i ) 
{
cin >> name >> state;
if( state == "AC" ) {
// 判斷是否第一次即為 AC
itr = container.find(name);
if( itr == container.end() ) {
// 累計第一次即為 AC 人數
++f_ACcount;
}
container[name] = true;
} else {
// 第一次才需加入容器內
itr = container.find(name);
if( itr == container.end() ) {
// 第一次不為 AC 把狀態設為 false
container[name] = false;
}
}
}
// 累計最後 AC 的人數
for( itr = container.begin() ; itr != container.end() ; ++itr ) {
if( itr->second == true ) ++s_ACcount;
}
cout << f_ACcount * 100 / s_ACcount << "%\n";
//printf("%d%%\n", f_ACcount * 100 / s_ACcount );
}
return 0;
}
 
#2970: Re:幫忙看一下錯誤在哪?


morris1028 (碼畜)

學校 : 國立花蓮高級中學
編號 : 3529
來源 : [114.37.59.62]
最後登入時間 :
2021-07-12 19:00:43
d566. 秒殺率 -- jack1 | From: [118.161.220.183] | 發表日期 : 2009-12-12 07:46

"並且請注意,此處的解題紀錄"排在前面"的資料代表時間"越晚"(與ZJ實際狀況同)"

這意味著秒殺要從後面開始讀取判斷,不能從前面直接讀取直接判斷

 
#2971: Re:幫忙看一下錯誤在哪?


ckck18 (cKcK)

學校 : 國立交通大學
編號 : 7981
來源 : [180.218.37.143]
最後登入時間 :
2013-09-19 23:58:22
d566. 秒殺率 -- jack1 | From: [60.198.139.5] | 發表日期 : 2009-12-12 10:15

"並且請注意,此處的解題紀錄"排在前面"的資料代表時間"越晚"(與ZJ實際狀況同)"

這意味著秒殺要從後面開始讀取判斷,不能從前面直接讀取直接判斷

謝謝!我知道錯哪邊了。 
ZeroJudge Forum