764D Timofey and rectangles[思维][染色]
来源:互联网 发布:linux怎么使用eclipse 编辑:程序博客网 时间:2024/06/05 21:07
题意:给定n个点对的坐标,分别表示以此两点位左下右上顶点的矩形,保证每个矩形的边长都是奇数。问相邻的矩形不同色,能否用四色染色,并输出每个颜色。
思路:根据四色定理,一定能够根据题意染色,即YES是一定的。 然后由于每个矩形的边长是奇数,现在我们只考虑左下角点的坐标x,y
若: x,y为奇数,边长是奇数,则对应的右上角的点坐标都是偶数,所以这样的矩形一定不会彼此相邻,可以涂颜色1。
若x为奇数,y为偶数,则对应右上角的点坐标横坐标是偶数,纵坐标是奇数,则这样的矩形只能与1颜色的矩形左右相邻,可涂颜色2.
若x为偶数,y为奇数,则与上面情况相反,与颜色1的矩形一定只能上下相邻,可涂颜色3.
若x为偶数y为偶数,可涂颜色4.
以上结果则符合题意。
代码:
#include <iostream>using namespace std;int x[500005], y[500005];int main(){ int n; cin >> n; for(int i = 0; i < n; ++i) { int a,b; cin >> x[i] >> y[i] >> a >> b; } cout << "YES\n"; for(int i = 0; i < n; ++i) { if(x[i]<0)x[i]=-x[i]; if(y[i]<0)y[i]=-y[i]; if(x[i]%2==1&&y[i]%2==1) cout << "1" << endl; else if(x[i]%2==1&&y[i]%2==0) cout << "2" << endl; else if(x[i]%2==0&&y[i]%2==1) cout << "3" << endl; else cout << "4" << endl; } return 0;}
0 0
- 764D Timofey and rectangles[思维][染色]
- D. Timofey and rectangles
- CodeForces 764D Timofey and rectangles【四色问题】
- Code forces -764D Timofey and rectangles
- D. Timofey and rectangles----思维题+四色定理
- 【Codeforces Round395】 Codeforces 764D Timofey and rectangles
- Codeforces Round #395(Div. 2)D. Timofey and rectangles【思维】好题!
- Codeforces Round #395 (Div. 2) D Timofey and rectangles(思维题)
- codeforces 763B. Timofey and rectangles [思维]【智商】
- Codeforces 763B-Timofey and rectangles (思维,四色定理)
- Codeforces Round #395 (Div. 2) D. Timofey and rectangles
- Codeforces Round #395 (Div. 2)D. Timofey and rectangles
- Codeforces Round #395 (Div. 2) D. Timofey and rectangles
- Codeforces Round #395 (Div. 2) D. Timofey and rectangles
- Codeforces Round #395 (Div. 2)-D. Timofey and rectangles
- 【CF763B】Timofey and rectangles 题解
- 764C Timofey and a tree[思维]
- Codeforces 763B Timofey and rectangles(四色定理)(思维)
- hiberate 学习笔记
- 子类构造函数参数列表,子类向父类传参数
- selenium + python的环境安装
- Java实现文件拷贝(字节流)
- 1012. The Best Rank (25) PAT甲级
- 764D Timofey and rectangles[思维][染色]
- 萌新试玩python的踩坑史
- qsort与sort结构体排序
- 506. Relative Ranks | 分数排名
- 单例模式(饿汉模式、懒汉模式)
- java Anonymous Inner Class(匿名内部类)
- Java equals 方法以及和 ==的区别
- 网络流 DE blog
- 数据结构(c++)最小堆模板类