生活随笔
收集整理的這篇文章主要介紹了
【PAT乙级】1080 MOOC期终成绩 (25 分)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目地址
#include<bits/stdc++.h>
using namespace std
;
int n
,m
,k
;
struct node {int a
,b
,c
,d
; string id
;};
vector
<node
>ve
;
map
<string
,node
>mp
;
string s
;
int a
;
bool cmp(node a
,node b
)
{if(a
.d
==b
.d
) return a
.id
<b
.id
;return a
.d
>b
.d
;
}
int main(void)
{cin
>>n
>>m
>>k
;for(int i
=0;i
<n
;i
++) cin
>>s
>>a
,mp
[s
].a
=a
,mp
[s
].b
=-1,mp
[s
].c
=-1;for(int i
=0;i
<m
;i
++) cin
>>s
>>a
,mp
[s
].b
=a
;for(int i
=0;i
<k
;i
++) cin
>>s
>>a
,mp
[s
].c
=a
;for(auto i
=mp
.begin();i
!=mp
.end();i
++){if(i
->second
.a
<200) continue;int sum
;if(i
->second
.b
>i
->second
.c
) sum
=(0.4*i
->second
.b
+0.6*i
->second
.c
+0.5);else sum
=i
->second
.c
;if(sum
<60) continue;else{i
->second
.d
=sum
;i
->second
.id
=i
->first
;ve
.push_back(i
->second
);}}sort(ve
.begin(),ve
.end(),cmp
);for(int i
=0;i
<ve
.size();i
++){cout
<<ve
[i
].id
;printf(" %d %d %d %d",ve
[i
].a
,ve
[i
].b
,ve
[i
].c
,ve
[i
].d
);if(i
!=ve
.size()-1) cout
<<endl
;}return 0;
}
總結
以上是生活随笔為你收集整理的【PAT乙级】1080 MOOC期终成绩 (25 分)的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。