题解:CF1482A Prison Break

· · 题解

思路

对于任意一个情况,每个牢房至少需要为了该牢房开一堵墙(开在两个牢房中间的只算为一个而开),因为每个牢房需要通往一个之前到不了的地方,以达到最终联通外界的目的,所以最少需要开 a\times b 堵墙。

尝试构造一种情况:所有的牢房都开右侧墙,最右侧的直接通向外界,而其他的都可以通过一路向右通向外界。

代码实现

#include <iostream>
using namespace std;
typedef long long ll;
ll T, a, b;
int main(){
    scanf("%lld",&T);
    while(T--){
        scanf("%lld%lld",&a,&b);
        printf("%lld\n",a*b);
    }
    return 0;
}