3 条题解

  • 2
    @ 2026-3-16 15:32:41
    #include<bits/stdc++.h>
    using namespace std;
    int n,a,b,e,k,maxn,ans,l;
    char c,d;
    string s[200];
    int main(){
    	cin >> n;
    	for(int i = 1; i <= n; ++ i) {
    		cin >> s[i] >> a >> b >> c >> d >> e;
    		ans = 0;
    		if(a > 80 && e > 0) ans += 8000;
    		if(a > 85 && b > 80) ans += 4000;
    		if(a > 90) ans += 2000;
    		if(a > 85 && d == 'Y') ans += 1000;
    		if(b > 80 && c == 'Y') ans += 850;	
    		if(ans > maxn){
    			maxn = ans;
    			k = i;
    		}
    		l += ans;
    	}
    	cout << s[k] << endl << maxn << endl << l;
    }
    
    这题只要按条件纯模拟就行了
    • 0
      @ 2026-3-16 15:36:59
      #include<bits/stdc++.h>
      using namespace std;
      long long n,s1,s2,x,y,t,maxn = INT_MIN;
      char a,b;
      string m,h;
      int main()
      {
      	cin >> n;
      	for (int i = 1;i <= n; ++ i)
      	{
      		s1 = 0;
      		cin >> m;//姓名
      		cin >> x >> y;//期末平均成绩,班级评议成绩
      		cin >> a >> b;//是否是学生干部,是否是西部省份学生
      		cin >> t;//发表的论文数
      		if (x > 80 && t >= 1)
      		{
      			s1 += 8000;
      			s2 += 8000;
      		}
      		if (x > 85 && y > 80)
      		{
      			s1 += 4000;
      			s2 += 4000; 
      		}
      		if (x > 90)
      		{
      			s1 += 2000;
      			s2 += 2000; 
      		}
      		if (x > 85 && b == 'Y')
      		{
      			s1 += 1000;
      			s2 += 1000;
      		}
      		if (y > 80 && a == 'Y')
      		{
      			s1 += 850;
      			s2 += 850;
      		}
      		if (s1 > maxn)
      		{
      			maxn = s1;
      			h = m;
      		}
      	}
      	cout << h << "\n" << maxn << "\n" << s2;
      }
      
      • -1
        @ 2025-7-14 8:17:06

        #include<bits/stdc++.h> using namespace std; long long n,ans=0,s; string pro_max; struct xkl { string name; int score1,score2,m,passage; char leader,province; }a[200]; int main() { cin>>n; for(int i=1;i<=n;i++) { cin>>a[i].name>>a[i].score1>>a[i].score2>>a[i].leader>>a[i].province>>a[i].passage; if(a[i].score1>80&&a[i].passage>0)a[i].m+=8000; if(a[i].score1>85&&a[i].score2>80)a[i].m+=4000; if(a[i].score1>90)a[i].m+=2000; if(a[i].score1>85&&a[i].province=='Y')a[i].m+=1000; if(a[i].score2>80&&a[i].leader=='Y')a[i].m+=850; if(a[i].m>ans) { ans=a[i].m; } s+=a[i].m; } for(int i=1;i<=n;i++) { if(a[i].m==ans) { pro_max=a[i].name; break; } } cout<<pro_max<<"\n"<<ans<<"\n"<<s; return 0; }

        • 1

        信息

        ID
        180
        时间
        1000ms
        内存
        256MiB
        难度
        2
        标签
        (无)
        递交数
        213
        已通过
        132
        上传者