求助大佬!看看哪儿错了!c++错了第一个测试点!!
查看原帖
求助大佬!看看哪儿错了!c++错了第一个测试点!!
747070
jyhDora2011楼主2023/1/17 16:52
#include <iostream>
#include <bits/stdc++.h>
using namespace std;

map<string,int> ma;
string name[10005],giver,re;
int n,m,money;
int main()
{
   cin>>n;
   for(int i=1;i<=n;i++)
   {
       cin>>name[i];
       ma[name[i]]=0;
   }
   //分段
   for(int i=1;i<=n;i++)
   {
       cin>>giver;//谁要送礼
       cin>>money>>m;//金额和人数
       //只送整数,余数返回给giver
       if(m==0)//如果不分给其他人,钱就自己留着
       {
           ma[giver]+=money;
           continue;
       }
       for(int j=1;j<=m;j++)
       {
           cin>>re;//谁收礼
           //把金额加到受礼者头上
           ma[re]+=money/m;
       }
       ma[giver]-=money;
       if(money==0)
       {
           continue;
       }
       ma[giver]+=money%(money/m);
       
       
   }
   for(int i=1;i<=n;i++)
   {
       cout<<name[i]<<' '<<ma[name[i]]<<"\n";
   }
   
    return 0;
}




这道题用的是map做的,第一个测试点错了。我下载了数据,输出的倒数第二个数目不对,好像少了4.求助大佬帮忙看一下,谢谢啦!

2023/1/17 16:52
加载中...