/*排序函数要写对,优先级:K,Q,R,B,N,P
白色的:如果优先级一样,那么按照行数大的优先,如果行数一样,那么列数小的优先
黑色的:如果优先级一样,那么按照行数小的优先,如果行数一样,那么列数小的优先
第一个在左下脚,向上数*/
#include<stdio.h>
#include<string.h>
#include<algoritm>
using namespace std;
struct point
{
int i,j;
char c;
int num;
}p[];
int cmp(const point a,const point b)
{
if(a.num==b.num)
{
if(a.i==b.i) return a.j<b.j;
return a.i>b.i;
}
return a.num>b.num;
}
int cmp1(const point a,const point b)
{
if(a.num==b.num)
{
if(a.i==b.i) return a.j<b.j;
return a.i<b.i;
}
return a.num>b.num;
}
int chack(char c)
{
if(c=='K' || c=='k') return ;
if(c=='Q' || c=='q') return ;
if(c=='R' || c=='r') return ;
if(c=='B' || c=='b') return ;
if(c=='N' || c=='n') return ;
if(c=='P' || c=='p') return ;
}
int find(int n)
{
if(n==) return 'a';
if(n==) return 'b';
if(n==) return 'c';
if(n==) return 'd';
if(n==) return 'e';
if(n==) return 'f';
if(n==) return 'g';
if(n==) return 'h';
}
int ok(int n)
{
if(n==) return ;
if(n==) return ;
if(n==) return ;
if(n==) return ;
if(n==) return ;
if(n==) return ;
if(n==) return ;
if(n==) return ;
}
int main()
{
int i,j,k,n,m;
char s[][];
memset(p,,sizeof(p));
for(i=;i<=;i++)
{
gets(s[i]);
}
k=;
for(i=;i>=;i--)
{
m=strlen(s[i]);
for(j=;j<m;j++)
{
if(s[i][j]=='K' || s[i][j]=='Q' || s[i][j]=='R' || s[i][j]=='B'
|| s[i][j]=='N' || s[i][j]=='P')
{ p[k].i=i;
p[k].j=j;
p[k].c=s[i][j];
p[k++].num=chack(s[i][j]);
}
}
} sort(p,p+k,cmp);
printf("White: ");
for(j=;j<k;j++)
{
if(j== && p[j].c=='P' )
{
printf("%c%d",find(p[j].j),ok(p[j].i));
}
else if(j==) printf("%c%c%d",p[j].c,find(p[j].j),ok(p[j].i));
else
{
if(p[j].c=='P') printf(",%c%d",find(p[j].j),ok(p[j].i));
else printf(",%c%c%d",p[j].c,find(p[j].j),ok(p[j].i));
}
}
printf("\n");
for(i=;i<k;i++)
{
p[i].i=;
p[i].j=;
p[i].num=;
p[i].c='\0';
}
k=;
for(i=;i<=;i++)
{
m=strlen(s[i]);
for(j=;j<m;j++)
{
if(s[i][j]=='k' || s[i][j]=='q' || s[i][j]=='r' || s[i][j]=='b'
|| s[i][j]=='n' || s[i][j]=='p')
{ p[k].i=i;
p[k].j=j;
p[k].c=s[i][j];
p[k++].num=chack(s[i][j]);
}
}
}
sort(p,p+k,cmp1);
printf("Black: ");
for(j=;j<k;j++)
{
if(j== && p[j].c=='p' )
{
printf("%c%d",find(p[j].j),ok(p[j].i));
}
else if(j==) printf("%c%c%d",p[j].c-,find(p[j].j),ok(p[j].i));
else
{
if(p[j].c=='p') printf(",%c%d",find(p[j].j),ok(p[j].i));
else printf(",%c%c%d",p[j].c-,find(p[j].j),ok(p[j].i));
}
}
printf("\n");
return ;
}

poj2996的更多相关文章

  1. POJ-2996 Help Me with the Game---模拟棋子

    题目链接: https://vjudge.net/problem/POJ-2996 题目大意: 给出白方和黑方的棋子和对应的坐标,输出该副棋盘的样子 1,棋盘中大写字母表示的是白方棋子,小写是黑方.2 ...

  2. poj2996 模拟

    Help Me with the Game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3713   Accepted:  ...

  3. POJ2996 Help Me with the Game(模拟)

    题目链接. 分析: 简单模拟. #include <iostream> #include <queue> #include <cstdio> #include &l ...

  4. 【POJ2996】Help Me with the Game

    题目传送门 本题知识点:模拟(如果对国际象棋不熟悉的同学可以先百度一下) 题意很简单,就是让我们找出白棋跟黑棋每枚棋子的位置,并要按照一定的顺序输出( K -> Q -> R -> ...

  5. poj分类 很好很有层次感。

    初期: 一.基本算法:      (1)枚举. (poj1753,poj2965)      (2)贪心(poj1328,poj2109,poj2586)      (3)递归和分治法.      ( ...

  6. 【转】POJ题目分类推荐 (很好很有层次感)

    OJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094)初期: 一. ...

  7. 【转】ACM训练计划

    [转] POJ推荐50题以及ACM训练方案 -- : 转载自 wade_wang 最终编辑 000lzl POJ 推荐50题 第一类 动态规划(至少6题, 和 必做) 和 (可贪心) (稍难) 第二类 ...

  8. POJ 题目分类(转载)

    Log 2016-3-21 网上找的POJ分类,来源已经不清楚了.百度能百度到一大把.贴一份在博客上,鞭策自己刷题,不能偷懒!! 初期: 一.基本算法: (1)枚举. (poj1753,poj2965 ...

  9. (转)POJ题目分类

    初期:一.基本算法:     (1)枚举. (poj1753,poj2965)     (2)贪心(poj1328,poj2109,poj2586)     (3)递归和分治法.     (4)递推. ...

随机推荐

  1. 获取一个Assembly中的命名空间列表

    通过System.Reflection.Assembly类中提供的方法和属性不能直接获取组件中的命名空间列表.但有方法可以直接获得Assembly中的所有类型,我们便可以通过获取的类型来得到命名空间名 ...

  2. springcloud 与 dubbo 比较

    作者:潜龙勿用链接:https://www.zhihu.com/question/45413135/answer/242224410来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...

  3. python3的安装,Window与linux

    一.window安装 1.首先是window下的安装. 进入python网站https://www.python.org/downloads/下载页面,选择所需要的版本进行下载. 点击Download ...

  4. JZOJ.5275【NOIP2017模拟8.14】水管

    Description

  5. 同时调整lv分区的大小(减少一个,增加另一个)

    author:headsen chen date: 2018-04-20  16:48:06 1.查看分区:/home 为67G,太大了,/ 是50g,太小了. [root@localhost ~]# ...

  6. iOS企业开发In House ipa发布流程

    这两天需要发布一个ipa放到网上供其他人安装,需要用到企业级开发者账号.在网上查了一下资料,感觉没有一个比较完善的流程,于是决定把整个流程写下来,供大家参考. 首先详细说明一下我们的目标,我们需要发布 ...

  7. 爬虫实战【12】使用cookie登陆豆瓣电影以及获取单个电影的所有短评

    昨天我们已经实现了如何抓取豆瓣上的热门电影信息,虽然不多,只有几百,但是足够我们进行分析了. 今天我们来讲一下如何获取某一部电影的所有短评论信息,并保存到mongodb中. 反爬虫 豆瓣设置的反爬虫机 ...

  8. iOS核心动画详解(一)

    前言 这篇文章主要是针对核心动画(Core Animation)的讲解,不涉及UIView的动画.因为内容较多,这篇文章会分为几个章节来进行介绍.本文主要是介绍核心动画的几个类之间的关系和CAAnim ...

  9. Java 常用语法和数据结构

    Collection 首先Java中的collection都是支持泛型和类型安全 由于Java单根继承, 所以不指定, 可以在collection里面放任何对象, collection会都当作obje ...

  10. jquery根据值设置radio和select选中状态

    1.radio选中: $("input[name=test][value=34]").attr("checked",true);//value=34的radio ...