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;}