AcWing 5850. 熊猫血
原题链接
简单
作者:
Yuan花落无痕
,
2025-04-24 21:12:18
· 辽宁
,
所有人可见
,
阅读 8
C++ 代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n, m;cin >> n;
unordered_set<string> st;
for (int i = 0; i < n; i++)
{
string type;cin >> type;
st.insert(type);
}
cin >> m;
vector<string> v(m);
for (int i = 0; i < m; i++) cin >> v[i];
vector<int> result(m);
int cnt = 0;
unordered_map<string, int> queryCnt;
for (int i = 0; i < m; i++)
{
if (st.find(v[i]) != st.end())
{
result[i] = 1;
cnt++;
queryCnt[v[i]]++;
}
else result[i] = 0;
}
for (int i = 0; i < m; i++) cout << result[i];
cout << '\n';
double percentage = (double)cnt / m * 100;
cout << fixed << setprecision(2) << percentage << '\n';
string most;
int maxCnt = 0;
for (const auto &pair : queryCnt)
{
if (pair.second > maxCnt)
{
maxCnt = pair.second;
most = pair.first;
}
}
cout << most << '\n';
return 0;
}