#include <iostream>
using namespace std;
int main()
{
int n;
while(cin>>n)
{
string v[n],f[n],ac[100];
int sec=0,cor=0;
int j=0,s=0;
for(int i=0;i<n;i++)
{
j=0;
cin>>v[i]>>f[i];
for(int h=0;h<s;h++)
if(v[i]==ac[h])
{
j=1;
}
if(j==1)
continue;
for(int r=0;r<i;r++)
{
if(v[i]==v[r])
{
j=1;
break;
}
}
if(f[i]=="AC")
{
if(j==0)
sec++,cor++;
else
cor++;
ac[s++]=v[i];
}
}
cout<<((sec+0.0)/cor)*100<<"%\n";
}
return 0;
}
第 3 測資點(0%): WA (line:1)
答案不正確
您的答案為: 100% 正確答案為: 0%
幫我找一下錯誤 謝謝!
#include
using namespace std;
int main()
{
int n;
while(cin>>n)
{
string v[n],f[n],ac[100];
int sec=0,cor=0;
int j=0,s=0;
for(int i=0;i
{
j=0;
cin>>v[i]>>f[i];
for(int h=0;h
if(v[i]==ac[h])
{
j=1;
}
if(j==1)
continue;
for(int r=0;r
{
if(v[i]==v[r])
{
j=1;
break;
}
}
if(f[i]=="AC")
{
if(j==0)
sec++,cor++;
else
cor++;
ac[s++]=v[i];
}
}
cout<<((sec+0.0)/cor)*100<<"%\n";
}
return 0;
}
第 3 測資點(0%): WA (line:1)
答案不正確
您的答案為: 100% 正確答案為: 0%
幫我找一下錯誤 謝謝!
sec的計算方法出錯了,請注意,此處的解題紀錄"排在前面"的資料代表時間"越晚"(與ZJ實際狀況同)。
不知道你熟不熟悉STL,可參考以下代碼:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | // Submitted by Silithus @ Macau #include <iostream> #include <cstdio> #include <string> #include <set> #include <map> using namespace std; int main(void) { int N; bool status; string user,res; while( cin >> N) { map<string, bool> fs; set<string> ac; while( N-- ) { cin >> user >> res; status = (res == "AC"); fs[user] = status; if( status ) ac.insert(user); } int fac = 0; for(map<string,bool>::iterator it = fs.begin(); it != fs.end(); it++) if( (*it).second ) fac++; printf("%d%\n", fac*100/ac.size()); } return 0; } |
代碼格式有問題,重發一次
#include <iostream>
#include <cstdio>
#include <string>
#include <set>
#include <map>
using namespace std;
int main(void)
{
int N;
bool status;
string user,res;
while( cin >> N) {
map<string, bool> fs;
set<string> ac;
while( N-- ) {
cin >> user >> res;
status = (res == "AC");
fs[user] = status;
if( status )
ac.insert(user);
}
int fac = 0;
for(map<string,bool>::iterator it = fs.begin(); it != fs.end(); it++)
if( (*it).second )
fac++;
printf("%d%\n", fac*100/ac.size());
}
return 0;
}