蓝桥杯中不可以使用c++标准的库函数 — 具体见这里
由于需要对string 进行计数等操作 而c++中数组下标只能是数字,所以我们需要用STL中的一个库函数 map
map<string , int> cnt;
code
#include <iostream>
#include <map>
using namespace std;
map<string , int> cnt; //相当于 cnt["dashabi"] = 250;
string name[12];
int n,num;
int main()
{
cin>>n;
for(int i=1;i<=n;i++){
cin>>name[i];
}
for(int i=1;i<=n;i++){
string s;int money,p;
cin>>s>>money>>p;
if(p!=0)num = money/p;
else num = 0;
cnt[s] -= num*p;
for(int j=1;j<=p;j++){
cin>>s;
cnt[s]+=num;
}
}
for(int i=1;i<=n;i++)
cout<<name[i]<<" "<<cnt[name[i]]<<endl;
return 0;
}
蓝桥杯国赛加油