博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2018年牛客多校算法寒假训练营练习比赛(第一场)C. 六子冲
阅读量:5022 次
发布时间:2019-06-12

本文共 2142 字,大约阅读时间需要 7 分钟。

2018年牛客多校算法寒假训练营练习比赛(第一场)C. 六子冲


做法:模拟即可

#include 
#define P pair
#define fir first#define sec second#define rep(i,a,b) for(int i=a;i<=b;++i)using namespace std;int n, mp[11][11];int dx[]={0,-1,1,0,0};int dy[]={0,0,0,-1,1};P pos[33];int inb(int x,int y) { if(x<1||x>4||y<1||y>4) return 0; return 1;}int isb(int f, int x) { if(f == 1) return (1 <= x && x <= 6); return (7 <= x && x <= 12);}void upb(int x,int y) { int col = isb(1,mp[x][y]); rep(i,1,4) { if( (!inb(x - dx[i], y - dy[i]) || mp[x-dx[i]][y-dy[i]] == -1) && (!inb(x + 3*dx[i], y + 3*dy[i]) || mp[x+3*dx[i]][y+3*dy[i]] == -1) && (inb(x+dx[i],y+dy[i]) && isb(col, mp[x+dx[i]][y+dy[i]]))&& (inb(x+2*dx[i],y+2*dy[i]) && isb(col^1, mp[x+2*dx[i]][y+2*dy[i]])) ) { pos[mp[x+2*dx[i]][y+2*dy[i]]]=P(-1,-1), mp[x+2*dx[i]][y+2*dy[i]] = -1; } } rep(i,1,4) { if( (!inb(x - 2*dx[i], y - 2*dy[i]) || mp[x-2*dx[i]][y-2*dy[i]] == -1) && (!inb(x + 2*dx[i], y + 2*dy[i]) || mp[x+2*dx[i]][y+2*dy[i]] == -1) && (inb(x-dx[i],y-dy[i]) && isb(col, mp[x-dx[i]][y-dy[i]]))&& (inb(x+dx[i],y+dy[i]) && isb(col^1, mp[x+dx[i]][y+dy[i]])) ) { pos[mp[x+dx[i]][y+dy[i]]]=P(-1,-1), mp[x+dx[i]][y+dy[i]] = -1; } }}int main() { int CC = 0; while(scanf("%d",&n) != EOF) { memset(mp,-1,sizeof(mp)); mp[1][1] = 11; mp[1][2] = 10; mp[1][3] = 9; mp[1][4] = 8; mp[2][1] = 12; mp[2][4] = 7; mp[3][1] = 1; mp[3][4] = 6; mp[4][1] = 2; mp[4][2] = 3; mp[4][3] = 4; mp[4][4] = 5; rep(i,1,4)rep(j,1,4)if(mp[i][j]!=-1)pos[mp[i][j]] = P(i,j); for(int ti = 1 ; ti <= n; ++ti) { int a,b; scanf("%d%d",&a,&b); int x = pos[a].fir, y = pos[a].sec; int tx = x + dx[b], ty = y + dy[b]; pos[a] = P(tx,ty); mp[tx][ty] = a; mp[x][y] = -1; upb(tx,ty); } printf("#Case %d:\n", ++CC); rep(i,1,4) { rep(j,1,4) printf("%3d",mp[i][j]<0?0:mp[i][j]); puts(""); } } return 0;}

转载于:https://www.cnblogs.com/RRRR-wys/p/9829602.html

你可能感兴趣的文章
移动web资源整理
查看>>
下拉插件dropload js时间计算(几天前)
查看>>
P1022 计算器的改良
查看>>
文件上传解析漏洞
查看>>
编译原理 模块二
查看>>
TDBXJSONStream(BERLIN新增)的使用
查看>>
jquery 表单序列化 转换json
查看>>
一个简化的认证系统
查看>>
幻灯片背景图生成器
查看>>
Django--static静态文件引用
查看>>
编程之美-2.13-子数组的最大乘积
查看>>
hdu 2008 数值统计(c语言)
查看>>
从服务器导入数据到本地的方法
查看>>
微软嵌套EXCEL
查看>>
uchome //默认加入群组
查看>>
Mybatis中同时使用shardbatis和pagehelper插件冲突问题
查看>>
MapReduce的DBInputFormat使用
查看>>
【FFMPEG】【ARM-Linux开发】fmpeg安装第三方编码器(encoder)库,ffmpeg编码h264(完)...
查看>>
【CUDA开发】Cuda C++ Thrust API与 Cuda Runtime API程序比较
查看>>
【MySql】性能优化之分析命令
查看>>