POJ 1957 Beehives 模拟
来源:互联网 发布:java游戏服务器 pdf 编辑:程序博客网 时间:2024/06/05 16:26
百度都查不到题解,看了好多关于六边形的博客,还有讲到SLG游戏的,最后干脆直接模拟穷举,AC了
两次WA是因为刚开始判0的时候没加continue...智障了
代码如下:View Source On GitHub
#include <cstdio>#include <cstdlib>#include <cstring>#include <algorithm>using namespace std;struct Point2D{ int x,y;};int nextvec[6][2]={ { 1,0 }, { 1,1 }, { 0,1 }, { -1,0 }, { -1,-1 }, { 0,-1 }};char stra[1024];char strb[1024];char buff[1024];Point2D pa[2000];Point2D pb[2000];bool cmp(const Point2D& a,const Point2D& b){ if(a.x==b.x) { return a.y < b.y; } return a.x < b.x;}int main(){ int N; scanf("%d%*c",&N); while(N--) { memset(pa,0,sizeof(pa)); memset(pb,0,sizeof(pb)); gets(stra); gets(strb); gets(buff); int lena=strlen(stra); int lenb=strlen(strb); if(lena==0&&lenb==0) { printf("true\n"); continue; } else if(lena!=lenb) { printf("false\n"); continue; } int x=0; int y=0; for(int i=0;i<lena;i++) { int dir=(stra[i]-'a'); x+=nextvec[dir][0]; y+=nextvec[dir][1]; pa[i].x=x; pa[i].y=y; } pa[lena].x=0; pa[lena].y=0; sort(pa,pa+lena+1,cmp); int flag=0; for(int dirCLT=0;dirCLT<6;dirCLT++) { for(int startID=0;startID<=lena;startID++) { x=pa[startID].x; y=pa[startID].y; for(int i=0;i<lenb;i++) { int dir=(strb[i]-'a'+dirCLT)%6; x+=nextvec[dir][0]; y+=nextvec[dir][1]; pb[i].x=x; pb[i].y=y; } pb[lenb].x=pa[startID].x; pb[lenb].y=pa[startID].y; sort(pb,pb+lenb+1,cmp); int tflag=0; for(int i=0;i<=lena;i++) { if(pa[i].x!=pb[i].x||pa[i].y!=pb[i].y) { tflag=1; break; } } if(tflag==0) { flag=1; break; } } if(flag) break; } if(flag) { printf("true\n"); } else { printf("false\n"); } } return 0;}
0 0
- POJ 1957 Beehives 模拟
- Beehives
- UVA 12544 Beehives
- uva 12544 Beehives
- UVAlive 6151 Beehives 解题报告
- POJ 1017 模拟啊模拟
- POJ 1565 水 模拟
- Poj 模拟题
- POJ 1068 括号模拟
- POJ 2453 简单模拟
- POJ 2833 简单模拟
- POJ 1016 模拟题
- 模拟退火 poj 1379
- poj 1379 模拟退火
- poj 3285 模拟退火,
- POJ 1068 Parencodings 模拟
- POJ 3295 Tautology 模拟
- POJ 1099 模拟
- JAVA正则表达式 Pattern和Matcher
- Java80商城系统第三节-后台管理系统搭建
- Git配置credential helper,并使用Http/Https传输
- android实现TAB切换附源码
- 链表的基本操作
- POJ 1957 Beehives 模拟
- jvm调优总结
- 如何设计一个支持高并发的高可用服务
- Thread安全之synchronized同步锁
- Java位运算符及二进制常识
- 安卓IPC之aidl使用(三)---System aidl调用
- OpenVPN腾讯云服务器 反向代理
- 国家区域代码关系整理
- 【题】【图论】NKOJ 3556 信息传递