Emag eht htiw Em Pleh POJ - 2993

题目链接:https://vjudge.net/problem/POJ-2993
题意:Help Me with the Game POJ - 2996的逆版本,给你黑白棋子的描述,请你输出这个棋盘。具体的定义见 https://vjudge.net/problem/POJ-2996
输入:

输出:

思路:模拟,2996做完了这题应该没有什么难度。重点如下:
1.棋子描述 [type] [column] [row]的结构体编写。
2.找到棋盘上行列和棋子位置行列对应关系。
3.找到棋盘上行列’:‘和’.‘的放置特点,容易看出与其(i+j)的奇偶性有关。
4.将输入的字符串转化成white和black的位置。从’,'下手即可。

具体见代码:

#include<iostream>
#include<map>
using namespace std;
struct pos{//位置描述int type_toint;char type;int x,y;
}p[107];
pos white[107];
pos black[107];
char ma[24][42];
int main(){string white_s;string black_s;getline(cin,white_s);getline(cin,black_s);int i;int cnt_w=0;int cnt_b=0;//white//cout<<"w!\n";string per="";int len_w=white_s.size();//将字符串转化为white的位置for(i=7;i<white_s.size();i++){if(white_s[i]!=','&&i!=len_w-1){per+=white_s[i];}else {if(i==len_w-1)per+=white_s[i];;cnt_w++;if(per.size()==3){ white[cnt_w].type=per[0];white[cnt_w].x=per[2]-'0';white[cnt_w].y=(int)per[1]-96;}else{//2white[cnt_w].type='P';white[cnt_w].x=per[1]-'0';white[cnt_w].y=(int)per[0]-96;}per="";}}将字符串转化为black的位置//cout<<"b!\n";per="";int len_b=black_s.size();for(i=7;i<black_s.size();i++){if(black_s[i]!=','&&i!=len_b-1){per+=black_s[i];}else{if(i==len_b-1)per+=black_s[i];cnt_b++;if(per.size()==3){ black[cnt_b].type=(char)((int)per[0]+32);black[cnt_b].x=per[2]-'0';black[cnt_b].y=(int)per[1]-96;}else{//2black[cnt_b].type='p';black[cnt_b].x=per[1]-'0';black[cnt_b].y=(int)per[0]-96;}per="";}}//check
//  for(i=1;i<=cnt_b;i++){//      cout<<black[i].type<<" "<<black[i].x<<" "<<black[i].y<<endl;
//  } int j;int row,c;row=0;c=0;//cout<<"oper!\n";for(i=0;i<=16;i++){//cout<<"i="<<i<<endl;if(i%2==0){//cout<<"even>\n";string sim="+---+---+---+---+---+---+---+---+";for(int id=0;id<=32;id++)ma[i][id]=sim[id];}else{for(j=0;j<=32;j++){// cout<<"j="<<j<<endl;row=8-((i+2-1)/2-1);c=j/4+1;if(j%4==0){ma[i][j]='|';}else{//奇偶性判断放'.'还是':"if(1){if((row+c)%2!=0)ma[i][j]='.';else ma[i][j]=':';}}}}}//cout<<"chess!\n";//chess//whitefor(i=1;i<=cnt_w;i++){char c=white[i].type;int xx=white[i].x;int yy=white[i].y;int ii=15-(xx-1)*2;int jj=2+(yy-1)*4;ma[ii][jj]=c;}//blackfor(i=1;i<=cnt_w;i++){char c=black[i].type;int xx=black[i].x;int yy=black[i].y;//也许有更好的处理方式int ii=15-(xx-1)*2;//行对应关系int jj=2+(yy-1)*4;//列对应关系ma[ii][jj]=c;}//cout<<"ans:\n";for(i=0;i<=16;i++){for(j=0;j<=32;j++)cout<<ma[i][j];cout<<endl;}//cout<<">>>\n";return 0;
}

Emag eht htiw Em Pleh POJ - 2993相关推荐

  1. POJ 刷题系列:2993. Emag eht htiw Em Pleh

    POJ 刷题系列:2993. Emag eht htiw Em Pleh 传送门:2993. Emag eht htiw Em Pleh 题意: 与2996相反,给出所有棋子的坐标关系,可视化boar ...

  2. POJ 2993【Emag eht htiw Em Pleh】

    题目链接 思路: 如果之前写的Help Me with the Game(Blog) 是一道一题,那么 "Emag eht htiw Em Pleh" 恐怕也是. 代码: 644K ...

  3. POJ 2993 Emag eht htiw Em Pleh 模拟

    http://poj.org/problem?id=2993 模拟大法好. 1 #include<iostream> 2 #include<cstdio> 3 #include ...

  4. POJ 2993 Emag eht htiw Em Pleh(模拟)

    题目链接 只要理解了题意之后,就不是很难了.学长们,把题意讲的很明白了.:和.交替出现,坐标系是按平常数学上的坐标系建法.居然1Y了,意外. 1 #include <cstdio> 2 # ...

  5. POJ 2993 Emag eht htiw Em Pleh

    连续超时了N次. 具体不知道是不是因为用了cin.ignore()这个函数导致读到文件尾不能结束...?(等待解决) 可以考虑文件结束符是EOF,而player估计初始化的是NULL,到while的时 ...

  6. POJ 2993, Emag eht htiw Em Pleh

    模拟类 Description This problem is a reverse case of the problem 2996. You are given the output of the ...

  7. POJ 2993 Emag eht htiw Em Pleh (模拟)

    题目链接,点这里 思路:先把棋盘准备好,再往里填棋子((行号+列号)%2 == 0放的是-,否则放的是:::),这就是棋盘准备的过程 出自博主:https://www.cnblogs.com/mobi ...

  8. Emag eht htiw Em Pleh【模拟】

    与这道题刚好相反 他要做的是把原来输出的,变成现在输入的,原来输入的,变成现在输出的. #include <iostream> #include <cstdio> #inclu ...

  9. POJ2993 Emag eht htiw Em Pleh

    一. 思路分析 通过建立字符串数组来模拟棋盘,棋盘的内容由"+-|.:"等符号填充,将输入的两个字符串转化为棋盘上的位置坐标,再依次输出字符串数组. 二. 方法设计 1.定义一下变 ...

最新文章

  1. python 图像压缩后前端解压_Python在后台自动解压各种压缩文件的实现方法
  2. Qt Creator基本使用方法
  3. css —— 图片环绕+首行缩进
  4. sqlite可视化工具推荐
  5. Everything is Serverless,从开源框架对比说起
  6. ctfshow-网络迷踪-新手上路 ( 使用百度搜图收集景点信息)
  7. 文件(文本、二进制)读写,利用popen读取linux命令读取结果
  8. windows10系统如何设置标题栏显色
  9. Uvalive - 3026 Period (kmp求字符串的最小循环节+最大重复次数)
  10. python统计图的三层结构设计代码_【Python数据可视化】用Matplotlib绘制常见统计图,中文显示字体任意设置...
  11. 计算机视觉算法面试题面经
  12. 中国象棋(单机版)java_中国象棋大师-中国象棋单机版下载 2017最新版-中国象棋单机游戏下载-pc6游戏网...
  13. C语言一般考点笔试,c语言常见笔试题及答案
  14. OSChina 周一乱弹 ——别的妹子撒个娇就能搞定的事,我都用威胁
  15. Windows时钟同步问题
  16. 牛客网刷题-java
  17. 全景拍摄—地面拍摄教程
  18. oracle 数据库表的字段类型修改为clob类型报错及解决方法
  19. Friends经典对白
  20. Redis入门篇(1)-类型技能

热门文章

  1. 【html/css】CSS中去掉li前面的圆点方法
  2. Ext2, Ext3和Ext4是什么以及如何创建和转换Linux文件系统
  3. 各种中文乱码解决大全
  4. Python爬虫之煎蛋网图片下载
  5. java并行任务,Java 并发编程学习(五):批量并行执行任务的两种方式
  6. 2022年最新河南建筑施工电工(建筑特种作业)模拟试题及答案
  7. c语言的酒店管理系统源码供参考学习
  8. 实例教您C#如何生成二维码?-附源码
  9. H.265高清网络编码器在视频网站中的应用
  10. mpu6050 z轴校准_关于MPU6050 校准问题请教