50155. Iron Block in Tank

難度:3/5

因為假使挑快一定沈下(水就會浮上來),所以如果tank_area == block_area時應該要看tank跟block的高度,來決定有多少水在槽內。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h>

int main() {
int a, b, c, d, e, f, g;
scanf("%d%d%d%d%d%d%d", &a, &b, &c, &d, &e, &f, &g);

int water = a * b * d;
int tank_area = a * b;
int block_area = e * f;
int depth;

if(water == 0) printf("0\n");
else{
if(tank_area == block_area) {
if(g >= c) depth = 0;
else depth = g + water / tank_area;
}
else{
int remain_area = tank_area - block_area;
if(water <= remain_area * g) depth = water / remain_area;
else depth = g + (water - remain_area * g) / tank_area;
}
if(depth >= c) depth = c;

printf("%d\n", depth);
}
}


50155. Iron Block in Tank
https://aaronlin1229.github.io/judgegirl_50155/
Author
Akizumi
Posted on
July 17, 2023
Licensed under