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