栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 1030 Farmland

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 1030 Farmland

#include <cstdio>#include <cstring>#include <cassert>#include <cstdlib>#include <vector>#include <algorithm>#include <map>#include <cmath>#include <iostream>using namespace std;#define REP(i,n) for(int i=0; i<(int)n; i++)#define RER(i,l,r) for(int i=(l); i<(r); i++)#define out(x) cout<<(#x)<<'='<<x<<endl#define pb push_back#define eps 1e-8#define MAXN 210typedef vector<int> vi;typedef map<int, int> mpi;struct SP{int i, x, y;vi e;SP(){}SP(bool f){int d;scanf("%d%d%d%d", &i, &x, &y, &d);e.resize(d);while(d--)scanf("%d", &e[d]);}bool operator<(const SP &b) const {return i<b.i;}} a[MAXN];int tx, ty;inline bool le(double a, double b){if(abs(a-b)<eps)return 0;return a<b;}bool cmp(const int &i, const int &j){return le(atan2(a[i].y-ty, a[i].x-tx),atan2(a[j].y-ty, a[j].x-tx));}bool v[MAXN];bool E[MAXN][MAXN];int q[MAXN], tot;int n, S;int go(int sx, int sf){memset(v, 0, n+1);int x=sx, f=sf;bool flag=0;tot=0;REP(c,S){vi &e=a[x].e;if(E[f][x])return 0;int i;for(i=0; i<e.size() && e[i]!=f; i++);assert(e[i]==f);i=(i+1)%e.size();if(e[i]==sx && x==sf){if(c!=S-1)return 0;else flag=1;}if(v[e[i]])return 0;f=x; q[tot++]=x=e[i]; v[x]=1;}if(tot==S && flag){REP(i,tot-1)E[q[i]][q[i+1]]=1;E[q[tot-1]][q[0]]=1;return 1;}return 0;}int main(){int T;scanf("%d", &T);while(T--){scanf("%d", &n);REP(i,n)a[i]=SP(1);scanf("%d", &S);assert(S>2);sort(a, a+n);mpi s;REP(i,n)s[a[i].i]=i;REP(i,n){vi &ee=a[i].e;REP(j,ee.size())ee[j]=s[ee[j]];}s.clear();int m=n-1;REP(i,n-1){if(a[i].x==a[m].x){if(a[i].y<a[m].y)m=i;} else if(a[i].x<a[m].x)m=i;}REP(i,n)assert(a[i].x>=0 && a[i].y>=0);a[n].x=-10000, a[n].y=-10000;a[n].e.clear();a[n].e.pb(m);a[m].e.pb(n++);REP(i,n){vi &ee=a[i].e;tx=a[i].x, ty=a[i].y;sort(ee.begin(), ee.end(), cmp);}memset(E, 0, 210*n);int ans=0;REP(i,n){vi &ee=a[i].e;REP(j,ee.size()){int tt=go(i,ee[j]);if(tt)ans++;}}printf("%dn", ans);}}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/378641.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号