UVa 11231 - Black and white painting
2015-11-24 10:30
1141 查看
題目:有一個n*m的黑白交替的平面圖形,問能從它上面找到多少個右下角是白色的8*8的棋盤。
分析:數學題。分兩種情況考慮,再合併,图下图所示。
![](http://img.blog.csdn.net/20151124102722732?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
①右下角是黑的,則有 [(n-7)/2] * [(m-6)/2] + [(n-6)/2] * [(m-7)/2],分別是平移和交叉的;
②右下角是白的,則有 [(n-6)/2] * [(m-6)/2] + [(n-7)/2] * [(m-7)/2],分別是平移和交叉的;
③综上所述,公式为: [(n-7+c)/2] * [(m-6)/2] + [(n-6-c)/2] * [(m-7)/2]。
說明:╮(╯▽╰)╭。
分析:數學題。分兩種情況考慮,再合併,图下图所示。
①右下角是黑的,則有 [(n-7)/2] * [(m-6)/2] + [(n-6)/2] * [(m-7)/2],分別是平移和交叉的;
②右下角是白的,則有 [(n-6)/2] * [(m-6)/2] + [(n-7)/2] * [(m-7)/2],分別是平移和交叉的;
③综上所述,公式为: [(n-7+c)/2] * [(m-6)/2] + [(n-6-c)/2] * [(m-7)/2]。
說明:╮(╯▽╰)╭。
#include <cstdio> int main() { int n, m, c; while (~scanf("%d%d%d",&n,&m,&c) && n+m+c) printf("%d\n",((n-7+c)/2)*((m-6)/2) + ((n-6-c)/2)*((m-7)/2)); return 0; }
相关文章推荐
- LINK1123:failure during conversion to COFF:file invalid or corrupt解决办法
- 【AMPPZ2014】【BZOJ4152】The Captain
- AIDL实现及原理
- 用于 VMware vSphere ESXi 4/5/6 的HP智能阵列B140i SATA RAID控制器驱动程序
- 判别训练的多尺度可变形部件模型 A Discriminatively Trained, Multiscale, Deformable Part Model
- WAI-ARIA无障碍网页应用属性完全展示
- WAI-ARIA —— 让盲人更清楚我们的网页
- 220. Contains Duplicate III
- 219. Contains Duplicate II
- 一直在做“伪社交”战役的你,来看真Social Campaign怎么玩?
- 1086. Tree Traversals Again (25)
- 1086. Tree Traversals Again (25)
- Daily Scrum - 11/23
- VIM AIRLINE 配置问题
- 多线程 同步synchronized、通信wait、notify
- 1014. Waiting in Line (30)
- AIDL简单使用
- glusterfs Connection failed. Please check if gluster daemon is operational. 解决方法
- QUT——XiaoCai (签到未成功)
- 不用main方法,使用静态方法也可以打印Hello World