UVA 11044 Searching for Nessy

题目

寻找Nessy

分析

  1. 数格子,每3×3应该放置一个点,不足3×3也要记一个点,问至少要放几个;
  2. 外围一圈不计,因为Nessy太大了。

思路

换而言之,需要计算这个范围

P=n23×m23

关键在于如果不足3,即剩余1或2,均需记一个点,那么应该设P个点
P=ceil(P)=n3×m3

btw,当 xn 需要向上取整时,只需计算 x+n1n ,证明如下。

(1)
x=kn(kN) ,则

x+n1n=kn+n1n=(k+1)n1n=k+11n

因为 0<11n<1 ,会被舍弃,故结果为 k .

(2)
x=kn+m(k,mN0<m<n),则

x+n1n=kn+m+n1n=(k+1)n+m1n=k+1+m1n

因为 0<m1n<1 ,会被舍弃,故结果为 k+1 ,即向上取到最大正整数.

代码

#include <stdio.h>

int main(void)
{
    int t, n, m;
    scanf("%d", &t);
    while (t--) {
        scanf("%d%d", &n, &m);
        printf("%d\n", (n/3)*(m/3));
    }
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值