http://codeforces.com/problemset/problem/1080/C

给定一个棋盘,(1,1)的位置是白色,观察可以知道,如果横纵坐标之和是偶数,那么是白色,奇数的话就是黑色。

只要算出染色以后白色方块的数量,减去面积,就可以得到黑色方块的数量

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <cstdlib>
typedef long long ll;
using namespace std;//计算矩形中白色方块的数量
ll paintw(ll x1,ll y1,ll x2,ll y2)
{ll n = x2-x1+1;ll m = y2-y1+1;//左下角的方块为黑色 if((x1+y1)&1)return n*m/2;//左下角方块为白色 elsereturn (n*m+1)/2;
}ll paintb(ll x1,ll y1,ll x2,ll y2)
{ll n = x2-x1+1;ll m = y2-y1+1;return n*m-paintw(x1,y1,x2,y2);
}int main ()
{ll n,m,T;ll x1,y1,x2,y2;ll x3,y3,x4,y4;cin >> T;while(T--){cin >> n >> m;cin >> x1 >> y1 >> x2 >> y2;cin >> x3 >> y3 >> x4 >> y4;//计算第一块区域中黑色方块的数量,即将被涂成白色 ll b1 = paintb(x1,y1,x2,y2);//第二块区域中白色方块的数量,即将被涂成黑色 ll w2 = paintw(x3,y3,x4,y4);//总共的白色方块的数量 ll answ = (n*m+1)/2+b1-w2;//看两个矩形是否相交,相交的部分都会变成黑色,所以要计算变黑之前,里面的白色的方块的数量 ll minx = min(x2,x4),miny = min(y2,y4);ll maxx = max(x1,x3),maxy = max(y1,y3);if(minx >= maxx && miny >= maxy)answ -= paintb(maxx,maxy,minx,miny);cout << answ << " " << n*m-answ << endl;}return 0;
}

和这个有点像:【ACM】LightOJ - 1010 Knights in Chessboard(不是搜索...)

【Codeforces】1080C Masha and two friends (棋盘染色)相关推荐

  1. Codevs 1049 棋盘染色

    1049 棋盘染色  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解 题目描述 Description 有一个5×5的棋盘,上面有一些格子被染成了黑色,其他 ...

  2. [Codevs] 1014 棋盘染色

    1049 棋盘染色  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题目描述 Description 有一个5×5的棋盘,上面有一些格子被染成了黑色,其他的格子 ...

  3. [CODEVS 1050] 棋盘染色 2

    描述 有一个5*N的棋盘,棋盘中的一些格子已经被染成了黑色,你的任务是对最少的格子染色,使得所有的黑色能连成一块. http://codevs.cn/problem/1050/ 分析 CODEVS 题 ...

  4. CODEVS——T 1049 棋盘染色

    http://codevs.cn/problem/1049/  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果 题目描述 Descripti ...

  5. 1050 棋盘染色 2 - Wikioi

    题目描述 Description 有一个5*N的棋盘,棋盘中的一些格子已经被染成了黑色,你的任务是对最少的格子染色,使得所有的黑色能连成一块. 输入描述 Input Description 第一行一个 ...

  6. Codeforces Codeforces Round #383 (Div. 2) E (DFS染色)

    题目链接:http://codeforces.com/contest/742/problem/E 题意: 有一个环形的桌子,一共有n对情侣,2n个人,一共有两种菜. 现在让你输出一种方案,满足以下要求 ...

  7. codeforces Gym 100286J Javanese Cryptoanalysis (二染色)

    每一单词相邻两个字母,不能同时为元音或者辅音... 各种姿势都可以过:7个for,dp,黑白染色,dfs,并查集.... 最主要的思路就是相邻字母连边,把元音和辅音看成两个集合,那么有连边的两个字母一 ...

  8. 【记录CF】Codeforces Round #777 (Div. 2) A~C 题解

    目录 杂谈 A. Madoka and Math Dad B. Madoka and the Elegant Gift C. Madoka and Childish Pranks 杂谈 又是一场离谱掉 ...

  9. HZNU 2019 Summer training 8

    A - Petya and Origami CodeForces - 1080A 题意:制造一份邀请函需要2份a物品,5份b物品,8份c物品,一个盒子里面有k份物品(可以为a或b或c)问你制造n份邀请 ...

最新文章

  1. C语言对mysql数据库的操作
  2. 关于工资的三个秘密【转载】
  3. DS1302示例子程序
  4. 数据挖掘十大经典算法之——KNN 算法
  5. php中的var_dump()方法的详细说明
  6. AngularJS从入门到实践(一)
  7. Android camera (12)---camera ap在特殊的应用场景下额外使用一套独立的camera tuning参数
  8. 一个JSP大马的源码
  9. matlab实验报告的总结,matlab实验报告
  10. python爬虫篇:为了追个漫画我居然用上爬虫,别人说我不讲武德
  11. 创建一个可以复制百度文库的Chrome插件
  12. 软考中级软件设计师教程(第5版)知识点笔记第一章计算机系统知识持续更新中...
  13. spawn xelatex ENOENT的问题
  14. cadence软件打开报错“计算机中丢失cdsCommon.dll”的解决办法
  15. think in java学习笔记
  16. (2) [保护模式]段描述符
  17. 大脑状态的重构与认知行为之间的映射
  18. matlab-采用For循环,将每次计算得到的矩阵,依次放进一个新的矩阵
  19. 打印机后台程序服务没有运行该怎么办
  20. 二维矩阵中行列元素互换(例题

热门文章

  1. 面向对象方法综述(工具<方法<思维<价值观)
  2. 软件测试培训:如何搭建测试环境
  3. Shippable和Packet合作提供原生ARM CI/CD
  4. 《树莓派Python编程指南》——2.3 小结
  5. 《JAVA与模式》之简单工厂模式
  6. 前端思想实现:面向UI编程_____前端框架设计开发
  7. 几个定制 iTerm2 的 tip
  8. 普通帧,关键帧,空白关键帧的区别
  9. [译]Web Inspector开始支持CSS区域
  10. 省钱之道--图解域域树域林根域的含义