全部评论 4

  • 等我把它压到20行以内(

    2024-08-07 来自 湖南

    1
  • 在线吗?

    2024-08-07 来自 四川

    0
  • 极限!!!

    #include <iostream>
    #include <cstdio>
    #include <algorithm>
    using namespace std;
    struct node{
    	string name; int id, c, m;
    	bool operator < (const node b) const {return name < b.name;}
    }a[1005], bucket[1005];
    int n, m, x; string s, s2;
    int find(string name){int left = 1, right = n; while(left <= right){int mid = left + right >> 1; if(a[mid].name == name) return mid; if(a[mid].name < name) left = mid + 1; else right = mid - 1;}}
    int main(){
    	cin >> n >> m;
    	for(int i = 1; i <= n; i++){cin >> a[i].name >> a[i].id >> a[i].c >> a[i].m, bucket[a[i].id] = a[i];}
    	sort(a + 1, a + n + 1);
    	while(m--){
    		cin >> s;
    		if(s == "name"){cin >> s2, cout << a[find(s2)].c << ' ' << a[find(s2)].m << endl;}
    		else{cin >> x, printf("%.2f\n", 1.0 * (bucket[x].c + bucket[x].m) / 2);}
    	}
    }
    

    2024-08-07 来自 湖南

    0
  • #include <bits/stdc++.h>
    using namespace std;
    
    const int N = 100 + 10;
    
    struct Student{
    	string name;
    	int id;
    	int chinese;
    	int maths;
    };
    
    int main(){
    	int n, m;
    	Student a[N];
    	string user;
    	cin >> n >> m;
    	for (int i = 0;i < n;i++) {
    		cin >> a[i].name >> a[i].id 
    			>> a[i].chinese >> a[i].maths;
    	}
    	for (int i = 0;i < m;i++){
    		cin >> user;
    		if (user == "name") {
    			string user_name;
    			cin >> user_name;
    			for(int i = 0;i < n;i++){
    				if(a[i].name == user_name){
    					printf("%d %d\n", a[i].chinese, a[i].maths);
    					break;
    				}
    			}
    		}
    		else {
    			int user_id;
    			cin >> user_id;
    			for(int i = 0;i < n;i++){
    				if(a[i].id == user_id){
    					printf("%.2lf\n", (a[i].chinese + a[i].maths) / 2.0);
    					break;
    				}
    			}
    		}
    	}
    	return 0;
    }
    

    2024-08-07 来自 四川

    0

热门讨论