2 条题解
-
0
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
略述拙见:往瓶子里装石头沙子水,应该先装石头。同理,首先应先让大应用去占屏(一个屏幕最多可以装两个大应用),再考虑小应用在有大应用的屏幕中是否可以装完。(当大应用为奇数时,存在一个屏幕能装一大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
- 上传者