输出格式输出格式输出格式!UVaOJ的输出控制让我想起了玩黑魂时的感觉。
这道题难点在M操作后的输出 “Black - ” 一眼看去‘-’后面是两个个空格,然而事实是-与后面的数字一共占3列。你自己调试的时候,发现怎样都对,而提交总会无限Presentation error。当你花半天udebug的时候,对比结果会告诉你“我这里不是两个空格!哈哈!没想到吧!“[白眼][白眼]。

原题地址
样例调试udebug

#include<iostream>
#include<string>
#include<string.h>
using namespace std;
string cc[12] ={""};
int aa[12][12];
int a[8] = {1,1,1,0,0,-1,-1,-1};
int b[8] = {-1,0,1,1,-1,0,1,-1};
int lg(int u);
int mo(char c1,char c2,int u);
int main()
{int n = 0;cin>>n;int pp = 0;for(int nn = 0;nn<n;++nn){if(pp++){cout<<endl;}for(int i = 1;i<=8;++i)cin>>cc[i];int u = 1;char c;cin>>c;if(c == 'B') u = -1;string s;while(cin>>s && s[0]!='Q'){if(s[0] == 'L'){int f = lg(u);if(!f) {u=u*(-1);cout<<"No legal move."<<endl;}else{int de = 0;for(int i = 1;i<=8;++i)for(int j = 0;j<8;++j)if(aa[i][j] == 1){    if(de++) {cout<<' ';}cout<<'('<<i<<','<<j+1<<')';}cout<<endl;}for(int lp = 0;lp<12;++lp) memset(aa[lp],0,sizeof(aa[lp]));}if(s[0] == 'M'){if(mo(s[1],s[2],u)){int wc = 0;int bc = 0;for(int i = 1;i<=8;++i){for(int j = 0;j<8;++j){if(cc[i][j] == 'W')++wc;if(cc[i][j] == 'B')++bc;}}                     cout<<"Black - ";if(bc/10 < 1) cout<<' ';  cout<<bc<<' ';cout<<"White - ";if(wc/10 < 1) cout<<' ';cout<<wc<<endl;};u = u*(-1);}}for(int i = 1;i<=8;++i)cout<<cc[i]<<endl;}
}
int lg(int u)
{char e;char v;e = u==1?'W':'B';v = u==1?'B':'W';for(int i = 1;i<=8;++i){for(int j = 0;j<8;++j){if(cc[i][j] == e){for(int x = 0;x<8;++x){if(i+a[x]>=1 && i+a[x]<=8 && j+b[x]>=0 && j+b[x] <=7){if(cc[i+a[x]][j+b[x]] == v){int ax = i+a[x];int ay = j+b[x];while((ax>=1 && ax<=8 && ay>=0 && ay<=7) && cc[ax][ay] == v){ax+=a[x];ay+=b[x];}if((ax>=1 && ax<=8 && ay>=0 && ay<=7) && cc[ax][ay] == '-')aa[ax][ay] = 1;}}}}}}int fag = 0;for(int i = 1;i<=8;++i)for(int j = 0;j<8;++j)if(aa[i][j] == 1)fag = 1;if(fag == 0)return 0;return 1;}
int mo(char c1,char c2,int u)
{int ae = c1-'0';int as = c2-'0';char e;char v;e = u==1?'W':'B';v = u==1?'B':'W';cc[ae][as-1] = e;for(int x = 0;x<8;++x){int cn = 0;if(ae+a[x]>=1 && ae+a[x]<=8 && as-1+b[x]>=0 && as-1+b[x] <=7){if(cc[ae+a[x]][as-1+b[x]] == v){int ax = ae+a[x];int ay = as-1+b[x];++cn;while((ax>=1 && ax<=8 && ay>=0 && ay<=7) && cc[ax][ay] == v){ax+=a[x];ay+=b[x];++cn;}if((ax>=1 && ax<=8 && ay>=0 && ay<=7) && cc[ax][ay] == e){for(int i =1;i<cn;++i)cc[ae+i*a[x]][as-1+i*b[x]] = e;}  }}}return 1;
}

UVa 220 黑白棋 算法竞赛入门经典 习题4-3相关推荐

  1. 算法竞赛入门经典 习题3-2 分子量 Molar Mass

    给出一种物质的分子式(不带括号),求其分子量.本题分子式中只包含四种原子,分别为C.H.O.N,原子量分别为12.01,1.008,16.00,14.01.例如,C6H5OH的分子量为94.108g/ ...

  2. 算法竞赛入门经典|习题3-8, 循环小数(UVa202)

    耗时:1小时22分. 储备知识: 1.循环节 如果无限小数点后,从某一位起向右进行到某一位止的数字循环出现,首位衔接,则称这个小数为循环小数,这段数字为循环节. 例如: 547/7 = 78.(142 ...

  3. 算法竞赛入门经典 习题6-14

    UVa12118 Inspector's Dilemma 每两个城市之间都有道路连通,检查员要通过指定的道路,途中可以经过其它未指定的道路.通过每条道路的时间是一样的,求出通过所有指定道路要花费的最小 ...

  4. 算法竞赛入门经典 习题6-12

    UVa810 A Dicey Problem 一个迷宫里有一骰子,骰子可以上下左右移动的条件是相邻格中的数字和骰子朝上面的数字相同,或者相邻格子中为*.求一条从起点出发,最终回到起点的路径. 深搜和广 ...

  5. 紫书《算法竞赛入门经典》

    紫书<算法竞赛入门经典>题目一览 第3章 数组和字符串(例题) UVA 272 TEX Quotes UVA 10082 WERTYU UVA 401 Palindromes UVA 34 ...

  6. 刘汝佳《算法竞赛入门经典(第二版)》习题(六)

    刘汝佳<算法竞赛入门经典(第二版)>第四章习题(4-1~4-3) 习题4-1 象棋(Xiangai,ACM/ICPC Fuzhou 2011,UVa1589) 考虑一个象棋残局,其中红方有 ...

  7. 算法竞赛入门经典(第二版)-刘汝佳-第六章 数据结构基础 习题(12/14)

    文章目录 说明 习题 习6-1 UVA 673 平衡的括号 习6-2 UVA 712 S - 树 习6-3 UVA 536 二叉树重建 习6-4 UVA 439 骑士的移动 习6-5 UVA 1600 ...

  8. 《算法竞赛入门经典训练指南》pdf

    下载地址:网盘下载 基本介绍 编辑 内容简介 <算法竞赛入门经典:训练指南>题目多选自近年来ACM/ICPC区域赛和总决赛真题,内容全面,信息量大,覆盖了常见算法竞赛中的大多数细分知识点. ...

  9. (Step1-500题)UVaOJ+算法竞赛入门经典+挑战编程+USACO

    下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年到1年半年时间完成.打牢基础,厚积薄发. 一.UVaOJ http://uva.onlinej ...

最新文章

  1. Django搭建个人博客:上传头像图片
  2. jmeter 非gui 模式跑jmx
  3. 445端口 mysql_关于如何关闭window端口445的详细介绍
  4. python实验室公众号_区块链研究实验室 | 使用Python编写Tendermint应用程序
  5. android系统功耗问题:systrace
  6. python3 shell脚本开发_python3 subprogress 模块的使用 代替shell编写脚本
  7. JS Jquery 中 的遍历
  8. Js实现炫酷仿抖罗盘时钟------Sestid
  9. 2020神舟几号发射_2020广东事业单位考试:神舟飞船小知识的考点提炼
  10. 电机与拖动matlab仿真,电机与拖动MATLAB仿真与学习指导(普通高等教育十一五电气信息类规划教材)...
  11. 传播小知识:timeout限制时间命令
  12. Facebook被封锁后如何申请解除
  13. python爬虫网易云音乐评论最多的歌_Python3实战之爬虫抓取网易云音乐的热门评论...
  14. Work with Hans
  15. snowboy嵌入式_树莓派3B+使用snowboy唤醒
  16. 信息安全系统设计基础实验一—20135222胡御风20135215黄伟业
  17. 揭秘清道夫轮巡码制作流程
  18. php 实现店铺装修6
  19. Arduino学习篇记录1.1——安装Mixly(米思齐)及完成hello world
  20. 众链智慧景区之微信导览

热门文章

  1. 《信息学奥赛一本通》宠物小精灵之收服
  2. 如何下载OpenJDK安装版本
  3. Vue2.0 —— 由设计模式切入,实现响应式原理
  4. 动一行,修半年,我的代码八代单传
  5. node爬取app数据_从零开始写一个node爬虫(上)—— 数据采集篇
  6. (48)性能测试——聚合报告
  7. python turtle库画画
  8. 可以当零食吃的排骨——椒盐排骨
  9. 【愚公系列】2023年01月 .NET CORE工具案例-基于SqlSugar的多库多表融合查询
  10. python读取plt文件吗_如何读取连续的.plt文件并存储它们