3 条题解

  • 2
    @ 2024-10-7 17:06:11

    MXOJ.[J3B. Seats]

    思路

    首先有四种情况

    • 教师和学生怎么调都无法得到适宜方案
    • 教师座位数不够,从学生座位数中扣除。
    • 学生座位数不够,从教师座位数中扣除。
    • 教师和学生的座位数恰好满足。

    第1,4种特殊方案我们选择特判。

    第2,3种就是代码计算统计一条龙。

    代码

    ps:本代码来自于梦熊官方

    #include<bits/stdc++.h>
    using namespace std;
    int a,b;
    string s;
    int main(){
    	cin>>a>>b>>s;
    	if(a+b>s.size())
    		cout<<-1;
    	else{
    		int cs=0,ct=0;
    		for(int i=0;i<s.size();i++)
    			if(s[i]=='S')cs++;
    			else ct++;
    		int ans=0;
    		ans=max(ans,a-cs);
    		ans=max(ans,b-ct);
    		cout<<ans;
    	}
    	return 0;
    }
    
    • -5
      @ 2024-9-17 15:47:28

      J3B. Seats

      大水

      思路

      统计老师座位数量和学生座位数量,计算需要扣掉几个

      复杂度

      时间复杂度:

      设字符串长度为s,则时间复杂度 O(s)O(s)

      Code

      #include #include #include <stdlib.h> using namespace std;

      int main() { int a, b, cnt = 0; string s; cin >> a >> b >> s; if (a + b > s.size()) { cout << -1; return 0; } for (int i = 0; i < s.size(); i++) { if (s[i] == 'S') cnt++; } int g = -min(cnt - a, (int)s.size() - cnt - b); if(g < 0) cout << 0; else cout << g; return 0; }

      • -5
        @ 2024-8-26 21:52:11

        标题

        思路

        解题方法

        复杂度

        时间复杂度:

        添加时间复杂度, 示例: O(n)O(n)

        空间复杂度:

        添加空间复杂度, 示例: O(n)O(n)

        Code

        • 1

        信息

        ID
        41
        时间
        1000ms
        内存
        512MiB
        难度
        2
        标签
        递交数
        970
        已通过
        329
        上传者