POJ2996Help Me with the Game
http://poj.org/problem?id=2996
又是一个大模拟题,表示做模拟题做的恶心,这个题主要是对数据的处理,从表格中将数据取出来再进行处理即可。
主要注意的点就是:1.KQRBN五个大写字母输出的顺序,且p不输出。
2.输出白色的时候,按列升序排,列相同时按行升序排,黑色的是按列降序排,列相同的时候按行升序排。
3.最后是不用输出逗号的,这个用一个标记变量标记一下就行。
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
char cont[] = "KQRBNP";
char a,b,c;
char map[][] ;
int mark=;
void process(char ch,int colour,int &mark);
void print(int colour);
int main()
{
for(int i = ; i <= ; i++)
{
scanf("+---+---+---+---+---+---+---+---+");
getchar();//消除换行符
for(int j = ; j <= ; j++)
{
scanf("|%c%c%c",&a,&b,&c);
map[i][j] = b ;//把每个方块里的内容读到map数组里
}
getchar();//消除每一行最后一个|
getchar();//消除换行符
}
scanf("+---+---+---+---+---+---+---+---+");//输入最后一行
getchar();//消除换行符
print();//1代表输出白色
cout<<endl;
print();//2代表输出黑色
cout<<endl;
return ;
}
void print(int colour)
{
if(colour == )
cout<<"White:"<<' ';
else
cout<<"Black:"<<' ';
int mark = ;
for(int i = ; i < ; i++)
{
process(cont[i],colour,mark);
}
}
void process(char ch,int colour,int &mark)//这里的mark是一定要加地址符的,因为他的值是要改变的
{
//int markk = 1;
char sh = ch ;
if(colour == )
ch += ;
if(colour == )
{
for(int i = ; i <= ; i++)//黑色输出的时候是列降序,列相同时行升序
{
for(int j = ; j <= ; j++)
{
if(map[i][j] == ch)
{
if(mark)
mark = ;//控制逗号的输出
else
printf(",");
if(ch != 'p'&&ch!='P')//p的时候只输出位置
printf("%c",sh);
printf("%c%d",j+'a'-,-i);
}
}
}
} else
{
for(int i = ; i >= ; i--)//白色的输出的时候是列升序,列相同时行升序。
{
for(int j = ; j <= ; j++)
{
if(map[i][j] == ch)
{
if(mark)
mark = ;
else
printf(",");
if(ch != 'P'&&ch!='p')//等于p就不输出
printf("%c",sh);
printf("%c%d",j+'a'-,-i);
}
}
}
}
}
POJ2996Help Me with the Game的更多相关文章
随机推荐
- 躲避球游戏ios源码
躲避球游戏源码,有限源码是一个基于cocos2d的躲避球游戏源码的,并且还引用了大家熟悉google广告的,进行推广,已经还有带game center等,游戏操作很简单,用手指按住物体,然后移动物体避 ...
- unity 多线程
对于客户端来说,好的用户体验,需要保持一个快速响应的用户界面.于是便要求:网络请求.io操作等 开销比较大的操作必须在后台线程进行,从而避免主线程的ui卡顿.(注:协程也是主线程的一部分,进行大量的i ...
- mysql数据库创建database(实例),和用户,并授权
前言:mysql创建用户的方法分成三种:INSERT USER表的方法.CREATE USER的方法.GRANT的方法. 一.账号名称的构成方式 账号的组成方式:用户名+主机(所以可以出现重复的用户名 ...
- 安装WordPress详细教程指南
最近准备自己建一个个人博客,以便分享一些自己工作生活中的一些观点及经验,建博客当然选wordpress,毕竟wordpress是为博客而生的嘛.下边记录一下自己安装WordPress的详细过程指南,亦 ...
- WP开发笔记——WP7 SDK使用技巧
俗话说的好,工欲善其事,必先利其器. 入门WP开发之前,免不了要先接触开发环境和开发工具.使用WP7 SDK进行开发,我们需要掌握SDK的一些实用技巧,以便我们的开发. 一.开启/关闭电脑键盘输入 W ...
- Linux--变量与虚拟内存
定义一个变量:存储类型 数据类型 变量名 存储类型(变量存储的位置):auto.register.static.extern 1.auto:对于局部变量,atuo可以缺省.位置:栈 2.exter ...
- hibernate 知识梳理
一.hibernate背景介绍: 作者: Gavin King 分hibernate ORM(for relation db),OGM(for nosql db),hearch,validator,t ...
- laravel--为什么属性在模型中没有定义,却取出来了值,这些属性哪里来的
看laravel模型中的这段代码, public function getLimitUsersAttribute() { return $this->user_limit - $this-> ...
- 简单实用的PHP验证码类
一个简单实用的php验证码类,分享出来 ,供大家参考. 代码如下: <?php /** @ php 验证码类 @ http://www.jbxue.com */ Class code { var ...
- js定时器 特定时间执行某段程序的例子
定时器想必大家并不陌生吧,在本文为大家详细介绍下js中是如何实现定时器的,具体原理及代码如下. 例子: $(function(){ var handler = function(){ //www.jb ...