zoukankan      html  css  js  c++  java
  • PAT 甲级 1137 Final Grading (25 分)

    思路:

    1.以id为键值存储,然后计算、筛选、排序即可;
    2.总分注意要四舍五入,计算时总分加上0.5即可;
    3.注意区分没考的和考0分的,分别输出是-1和0;

    代码:

    #include<iostream>
    #include<unordered_map>
    #include<algorithm>
    #include<vector>
    using namespace std;
    struct score{ 
    	int s[3]={-1,-1,-1};
    };
    struct stu{
    	string id;
    	int g;
    };
    bool cmp(const stu & a,const stu & b){
    	return a.g==b.g?a.id<b.id:a.g>b.g;
    }
    unordered_map<string,score> mp;
    int main(){
    	int n[3];
    	cin>>n[0]>>n[1]>>n[2];
    	for(int i=0;i<3;i++)
    		for(int j=0;j<n[i];j++){
    			string id;
    			cin>>id;
    			cin>>mp[id].s[i];
    		}
    	vector<stu> v;
    	for(auto i:mp){
    		stu s;
    		int sco=i.second.s[1]*0.4+i.second.s[2]*0.6+0.5;
    		s.g=sco>i.second.s[2]?sco:i.second.s[2];
    		if(s.g<60||i.second.s[0]<200) continue;
    		s.id=i.first;
    		v.push_back(s);
    	}
    	sort(v.begin(),v.end(),cmp);
    	for(auto i:v)
    		printf("%s %d %d %d %d
    ",i.id.c_str(),mp[i.id].s[0],mp[i.id].s[1],mp[i.id].s[2],i.g);
    	return 0;
    }
    
  • 相关阅读:
    Activity的singleTask启动模式
    蓝图Tips
    UE4 C++ Tips
    UE4的抛物线
    透明材质
    在UE4 C++构造函数里的常规操作
    UE4的反射关键词
    UE4字符串的各种转换
    UE4Launch遇到的问题
    在UE4C++中的宏
  • 原文地址:https://www.cnblogs.com/yuhan-blog/p/12309081.html
Copyright © 2011-2022 走看看