1 条题解

  • 0
    @ 2025-4-14 18:43:47

    C++ :

    #include<iostream>
    #include<cstdlib>
    #include<string>
    #include<cstdio>
    using namespace std;
    struct ren{
        string name;
        int money;
        int renshu;
        string cname[11];
        int shoudao;
        int fenqian;
        int zonghe;
    }a[11];
    int main()
    {
        //freopen("1.in","r",stdin);
        //freopen("1.out","w",stdout);
        string q;
        int n;cin>>n;
        for(int i=1;i<=n;i++)
                cin>>a[i].name;
        for(int j=1;j<=n;j++)
        {
            cin>>q;
            for(int i=1;i<=n;i++)
                if(a[i].name==q)
                {
                    cin>>a[i].money>>a[i].renshu;
                    for(int j=1;j<=a[i].renshu;j++)
                        cin>>a[i].cname[j];
                    if(a[i].renshu!=0)
                            a[i].shoudao=a[i].money%a[i].renshu;
                    else
                            a[i].shoudao=a[i].money;
                    a[i].zonghe=0;
                    if(a[i].renshu!=0)
                            a[i].fenqian=a[i].money/a[i].renshu;
                    else
                            a[i].fenqian=0;
                    break;
                }
        }
        for(int i=1;i<=n;i++)
                for(int j=1;j<=a[i].renshu;j++)
                        for(int s=1;s<=n;s++)
                                if(a[s].name==a[i].cname[j])
                                        a[s].shoudao+=a[i].fenqian;
        /*for(int i=1;i<=n;i++)
                cout<<a[i].shoudao;*/
        for(int i=1;i<=n;i++)
                a[i].zonghe=a[i].shoudao-a[i].money;
        for(int i=1;i<=n;i++)
                cout<<a[i].name<<" "<<a[i].zonghe<<endl;
        //system("pause");
        return 0;
     
    }
    

    Pascal :

    var name: array[1..9]of string;
        income,outcome: array[1..9] of longint;
        money:array[1..9] of longint;
        np,ng,i:longint;
        s:string;
        t:longint;
    function search(s:string):longint;
      var i:longint;
      begin
        for i:=1 to np do
          if name[i]=s
            then exit(i);
      end;
    procedure make;
      var i,aver:longint;
      begin
        aver:=money[t] div ng;
        outcome[t]:=aver*ng;
        for i:=1 to ng do
          begin
            readln(s);
            inc(income[search(s)],aver);
          end;
      end;
    begin
      readln(np);
      fillchar(income,sizeof(income),0);
      fillchar(outcome,sizeof(outcome),0);
      fillchar(money,sizeof(money),0);
      for i:=1 to np do
         readln(name[i]);
      for i:=1 to np do
         begin
           readln(s);
           t:=search(s);
           readln(money[t],ng);
           if ng<>0
              then  make;
         end;
      for i:=1 to np do
        writeln(name[i],' ',income[i]-outcome[i]);
       
    end.
    
    
    • 1

    信息

    ID
    3247
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者