PKU 3364 Black and white painting 题解

数学问题
因为棋盘肯定是8*8的
所以棋盘的右下角不可能位于前7列和前7行
所以就用给出的行列都减去7然后乘一下
就可以得到右下角所可能出现的所有位置了
然后因为相邻两个位置棋子不能是相同的
所以要是给出的行列都减去7以后相乘得到的是一个偶数的话那么白色棋子就是一半
然后如果相乘得到是奇数的话那么整个棋盘右下角所表示的元素就会在这里比另外一种多一个
这些都理解以后就很容易了
 1#include<stdio.h>
 2int main()
 3{
 4//freopen("in.txt","r",stdin);
 5int m, n, c,ans;
 6while(1)
 7{
 8scanf("%d%d%d"&m, &n, &c);
 9if(m==0 && n==0 && c==0break;
10m=m-7;n=n-7;
11ans=(m*n)/2;
12if(m%2==1 && n%2==1)ans=ans+c;
13printf("%d\n",ans);
14}

15return 0;
16}

posted on 2008-07-20 22:12 gong 阅读(1021) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2008年7月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

导航

统计

常用链接

留言簿(6)

随笔档案

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜