Emag eht htiw Em Pleh POJ - 2993
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相关推荐
- POJ 刷题系列:2993. Emag eht htiw Em Pleh
POJ 刷题系列:2993. Emag eht htiw Em Pleh 传送门:2993. Emag eht htiw Em Pleh 题意: 与2996相反,给出所有棋子的坐标关系,可视化boar ...
- POJ 2993【Emag eht htiw Em Pleh】
题目链接 思路: 如果之前写的Help Me with the Game(Blog) 是一道一题,那么 "Emag eht htiw Em Pleh" 恐怕也是. 代码: 644K ...
- POJ 2993 Emag eht htiw Em Pleh 模拟
http://poj.org/problem?id=2993 模拟大法好. 1 #include<iostream> 2 #include<cstdio> 3 #include ...
- POJ 2993 Emag eht htiw Em Pleh(模拟)
题目链接 只要理解了题意之后,就不是很难了.学长们,把题意讲的很明白了.:和.交替出现,坐标系是按平常数学上的坐标系建法.居然1Y了,意外. 1 #include <cstdio> 2 # ...
- POJ 2993 Emag eht htiw Em Pleh
连续超时了N次. 具体不知道是不是因为用了cin.ignore()这个函数导致读到文件尾不能结束...?(等待解决) 可以考虑文件结束符是EOF,而player估计初始化的是NULL,到while的时 ...
- 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 ...
- POJ 2993 Emag eht htiw Em Pleh (模拟)
题目链接,点这里 思路:先把棋盘准备好,再往里填棋子((行号+列号)%2 == 0放的是-,否则放的是:::),这就是棋盘准备的过程 出自博主:https://www.cnblogs.com/mobi ...
- Emag eht htiw Em Pleh【模拟】
与这道题刚好相反 他要做的是把原来输出的,变成现在输入的,原来输入的,变成现在输出的. #include <iostream> #include <cstdio> #inclu ...
- POJ2993 Emag eht htiw Em Pleh
一. 思路分析 通过建立字符串数组来模拟棋盘,棋盘的内容由"+-|.:"等符号填充,将输入的两个字符串转化为棋盘上的位置坐标,再依次输出字符串数组. 二. 方法设计 1.定义一下变 ...
最新文章
- python 图像压缩后前端解压_Python在后台自动解压各种压缩文件的实现方法
- Qt Creator基本使用方法
- css —— 图片环绕+首行缩进
- sqlite可视化工具推荐
- Everything is Serverless,从开源框架对比说起
- ctfshow-网络迷踪-新手上路 ( 使用百度搜图收集景点信息)
- 文件(文本、二进制)读写,利用popen读取linux命令读取结果
- windows10系统如何设置标题栏显色
- Uvalive - 3026 Period (kmp求字符串的最小循环节+最大重复次数)
- python统计图的三层结构设计代码_【Python数据可视化】用Matplotlib绘制常见统计图,中文显示字体任意设置...
- 计算机视觉算法面试题面经
- 中国象棋(单机版)java_中国象棋大师-中国象棋单机版下载 2017最新版-中国象棋单机游戏下载-pc6游戏网...
- C语言一般考点笔试,c语言常见笔试题及答案
- OSChina 周一乱弹 ——别的妹子撒个娇就能搞定的事,我都用威胁
- Windows时钟同步问题
- 牛客网刷题-java
- 全景拍摄—地面拍摄教程
- oracle 数据库表的字段类型修改为clob类型报错及解决方法
- Friends经典对白
- Redis入门篇(1)-类型技能