50A题目网址
解题报告-others
题目解析
1.输入n x m大小的木板,使用21大小的多米诺去填满,求最多的多米诺数目
2.通过分析把木板分为奇数和偶数的情况
1)有一边是偶数的情况:
使用2去填满
2)两个边都是奇数
奇数-1=偶数
还是让木板的(奇数-1)边去和2平行,再加上
(m-1)/2(n/1)+(n-1)/2
即:(m-1)/2*n+(n-1)/2
总结
1.遇到此种类型的题,不要慌张,不要直接开始写代码
2.通过画图,去找出其中的规律(奇数/偶数等),相信一定可以通过一个式子总结出来
代码
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{int n,m;int result=0;scanf("%d %d",&n,&m);if(n%2!=0&&m%2!=0){ printf("%d\n",(m-1)/2*n+(n-1)/2);}else { printf("%d\n",m*n/2);}return 0;}