Code forces -764D Timofey and rectangles

xiaoxiao2021-02-28  82

初看到一堆矩形和相互接触颜色不同,yy了一下,离散化,并查集,再dfs,后来看到了线段长度为奇数,发现只要看坐标奇偶性涂色就行。

粗鄙的代码

#include <algorithm> #include <bitset> #include <cassert> #include <climits> #include <cmath> #include <cstdio> #include <cstdlib> #include <cstring> #include <deque> #include <iomanip> #include <iostream> #include <map> #include <numeric> #include <queue> #include <set> #include <stack> #include <string> using namespace std; typedef long long ll; int main() { int n; scanf ("%d",&n); int i; printf("YES\n"); for (i=1;i<=n;i++){ int a,b,c,d; scanf ("%d %d %d %d",&a,&b,&c,&d); int p = a%2; int q = b%2; int ans=1; if (p && q) ans = 1; if (p&& !q) ans = 2; if (!p && q) ans =3; if (!p && !q) ans = 4; printf("%d\n", ans); } return 0; }

优秀的代码

#include <iostream> #include <cstdio> #include <string> #include <cstring> #include <algorithm> #include <cmath> #include <queue> #include <vector> #include <set> #include <stack> #include <map> #include <climits> using namespace std; #define LL long long const int INF=0x3f3f3f3f; const int MAX=100009; int main() { int n; while(~scanf("%d",&n)) { printf("YES\n"); int a,b,c,d; for(int i=0; i<n; i++) { scanf("%d%d%d%d",&a,&b,&c,&d); printf("%d\n",1+2*(abs(a)%2)+abs(b)%2); } } return 0; }
转载请注明原文地址: https://www.6miu.com/read-63011.html

最新回复(0)