Codeforces Round #395 (Div. 2) D Timofey and rectangles(思维题)
来源:互联网 发布:杀敌算法 下载 编辑:程序博客网 时间:2024/05/22 12:50
解题思路:
因为矩形的边为奇数长度
根据四色定理,染色一定会成功。
(1)我们只看左下角坐标,如果两个数值都为奇数,那么右上角坐标一定两个都为偶数,所以所有左下标坐标为奇数的不会相交,可赋值为1。
(2)
如果x轴为偶数,可能与1的情况左右相邻赋值为2。
(3)
如果y轴为偶数,可能与1的情况左右相邻,赋值为3。
(4)
其余赋值为4。
时间复杂度:O(n)
空间复杂度:O(n)
#include <iostream> #include <cstdio>#include <cstdlib>#include <cmath>#include <iomanip>#include <algorithm>#include <climits>#include <cstring>#include <string>#include <set>#include <map>#include <queue>#include <stack>#include <vector>#include <list>#define rep(i,m,n) for(int i=m;i<=n;i++)#define rsp(it,s) for(set<int>::iterator it=s.begin();it!=s.end();it++)const int inf_int = 2e9;const long long inf_ll = 2e18;#define inf_add 0x3f3f3f3f#define mod 1000000007#define pb push_back#define mp make_pair#define fi first#define se second#define pi acos(-1.0)#define pii pair<int,int>#define Lson L, mid, rt<<1#define Rson mid+1, R, rt<<1|1const int maxn=5e2+10;using namespace std;typedef long long ll;typedef unsigned long long ull; inline int read(){int ra,fh;char rx;rx=getchar(),ra=0,fh=1;while((rx<'0'||rx>'9')&&rx!='-')rx=getchar();if(rx=='-')fh=-1,rx=getchar();while(rx>='0'&&rx<='9')ra*=10,ra+=rx-48,rx=getchar();return ra*fh;}//#pragma comment(linker, "/STACK:102400000,102400000")ll gcd(ll p,ll q){return q==0?p:gcd(q,p%q);}ll qpow(ll p,ll q){ll f=1;while(q){if(q&1)f=f*p;p=p*p;q>>=1;}return f;}typedef vector<int> vi;int dir[4][2]={{1,0},{0,-1},{-1,0},{0,1}};const int N = 1e5+5;int n;int main(){ int a,b,c,d; cin >> n; cout << "YES"<<endl; while(n--) { cin >> a>> b>>c>>d; if(a%2&&b%2) { cout << 1<<endl; } else if(a%2==0&&b%2) { cout << 2<<endl; } else if(a%2&&b%2==0) { cout << 3<<endl; } else { cout << 4<<endl; } } return 0; }膜一发dls
#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#include <vector>#include <string>#include <map>#include <set>#include <cassert>using namespace std;#define rep(i,a,n) for (int i=a;i<n;i++)#define per(i,a,n) for (int i=n-1;i>=a;i--)#define pb push_back#define mp make_pair#define all(x) (x).begin(),(x).end()#define fi first#define se second#define SZ(x) ((int)(x).size())typedef vector<int> VI;typedef long long ll;typedef pair<int,int> PII;const ll mod=1000000007;ll powmod(ll a,ll b) {ll res=1;a%=mod; assert(b>=0); for(;b;b>>=1){if(b&1)res=res*a%mod;a=a*a%mod;}return res;}// headint n,x,y;int main() {scanf("%d",&n);puts("YES");rep(i,0,n) {scanf("%d%d%*d%*d",&x,&y);printf("%d\n",2*(x&1)+(y&1)+1);}}
0 0
- 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
- 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_0
- Codeforces Round #395(Div. 2)C. Timofey and a tree【思维+并查集缩点+判定】
- D. Timofey and rectangles----思维题+四色定理
- 764D Timofey and rectangles[思维][染色]
- CodeForces 764D Timofey and rectangles【四色问题】
- Codeforces Round #395 (Div. 2) C. Timofey and a tree
- Codeforces Round #395 (Div. 2)Timofey and cubes
- Codeforces Round #395 (Div. 2)Timofey and a tree
- Codeforces Round #395(Div. 2)B. Timofey and cubes【模拟】
- Codeforces Round #395 (Div. 2) C. Timofey and a tree
- NLP︱高级词向量表达(二)——FastText(简述、学习笔记)
- 数据结构之简单算法学习
- 算法-数组-二维数字中的查找
- 集合接口collection与Map接口
- JSP基本语法
- Codeforces Round #395 (Div. 2) D Timofey and rectangles(思维题)
- ZOJ3331-Process the Tasks(双塔DP)
- 协同过滤推荐算法总结
- Ubuntu16安装搜狗拼音输入法
- http://blog.csdn.net/bat67/article/details/52145331
- jsp与servlet中文乱码问题
- POJ 3190 Stall Reservations
- 算法训练 最大的算式
- 第四次到上海,这里正下着小雨