2 条题解

  • 0
    @ 2025-10-14 10:27:58

    1.直接计算2x2占用的屏幕数 2.计算已占用屏幕的情况下的剩余空间 3.如果剩余空间足以放下1x1,屏幕数为1中屏幕数 4.如果不足,则1x1数减去2中剩余空间,再求剩下的1x1占格子数

    #include <iostream>
    using namespace std;
    
    int main() {
        int n;
        int a,b;
        cin>>n;
        while (~scanf("%d %d",&a,&b)){
            int screens_for_b = (b + 1) / 2;
            int remain = screens_for_b * 15 - b * 4;
            if (remain>a){
                cout<<screens_for_b<<endl;
            }else{
                cout<<screens_for_b+(a-remain+14)/15<<endl;
            }
        }
        return 0;
    }
    
    • 0
      @ 2025-10-12 20:20:20

      略述拙见:往瓶子里装石头沙子水,应该先装石头。同理,首先应先让大应用去占屏(一个屏幕最多可以装两个大应用),再考虑小应用在有大应用的屏幕中是否可以装完。(当大应用为奇数时,存在一个屏幕能装一大11小)(会频繁应运整除符号//) n=int(input()) for j in range(n): aa=input().split() a=list(aa) if int(a[1])%20: i=int(a[1])//2 if int(a[0])<=i7: print(i) else: e=int(a[0])-i7 if e%150: b=e//15
      else: b=e//15+1 print(i+b)
      if int(a[1])%2!=0: i=int(a[1])//2+1 if int(a[0])<=i7+4: print(i) else: e=int(a[0])-i7-4 if e%15==0: b=e//15
      else: b=e//15+1 print(i+b)

      如有失误,请见谅。

      • 1

      信息

      ID
      37
      时间
      1000ms
      内存
      256MiB
      难度
      3
      标签
      递交数
      84
      已通过
      24
      上传者