Codeforces 592A. PawnChess
2015-11-16 13:41
387 查看
题目链接:http://codeforces.com/problemset/problem/592/A
题 意:有一个8*8的棋盘,A先走,B后走,每次A可以操纵一个W棋子向上走B可以操作一个棋子向下走,如果路上被挡住了,那就不能走了。然后问你,谁会第一个走到上下边界位置。
思 路:直接模拟过程就可以了。
代码如下:#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <cmath>
#include <cstring>
using namespace std;
typedef __int64 LL;
int main()
{
char v[9][9];
while( scanf ( "%s", v[1] ) != EOF )
{
int ans1 = 101, ans2 = 101;
for( int i = 2; i <= 8; i ++ )
scanf ( "%s", v[i] );
for( int i = 0; i < 8; i ++ )
{
for( int j = 1; j < 9; j ++ )
{
if( v[j][i] == 'B' ) continue;
if( v[j][i] == 'W' )
{
int f = 1;
for( int k = j-1; k > 0; k -- )//看路上是否有阻碍
if( v[k][i] != '.' )
{
f = 0;
break;
}
if( f ) ans1 = min( ans1, j-1 );
}
}
for( int j = 8; j > 0; j -- )
{
if( v[j][i] == 'W' ) continue;
if( v[j][i] == 'B' )
{
int f = 1;
for( int k = j+1; k < 9; k ++ )//看路上是否有阻碍
if( v[k][i] != '.' )
{
f = 0;
break;
}
if( f ) ans2 = min( ans2, 8-j );
}
}
}
if( ans1 <= ans2 )
{
printf("A\n");
}
else printf("B\n");
}
return 0;
}
题 意:有一个8*8的棋盘,A先走,B后走,每次A可以操纵一个W棋子向上走B可以操作一个棋子向下走,如果路上被挡住了,那就不能走了。然后问你,谁会第一个走到上下边界位置。
思 路:直接模拟过程就可以了。
代码如下:#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <cmath>
#include <cstring>
using namespace std;
typedef __int64 LL;
int main()
{
char v[9][9];
while( scanf ( "%s", v[1] ) != EOF )
{
int ans1 = 101, ans2 = 101;
for( int i = 2; i <= 8; i ++ )
scanf ( "%s", v[i] );
for( int i = 0; i < 8; i ++ )
{
for( int j = 1; j < 9; j ++ )
{
if( v[j][i] == 'B' ) continue;
if( v[j][i] == 'W' )
{
int f = 1;
for( int k = j-1; k > 0; k -- )//看路上是否有阻碍
if( v[k][i] != '.' )
{
f = 0;
break;
}
if( f ) ans1 = min( ans1, j-1 );
}
}
for( int j = 8; j > 0; j -- )
{
if( v[j][i] == 'W' ) continue;
if( v[j][i] == 'B' )
{
int f = 1;
for( int k = j+1; k < 9; k ++ )//看路上是否有阻碍
if( v[k][i] != '.' )
{
f = 0;
break;
}
if( f ) ans2 = min( ans2, 8-j );
}
}
}
if( ans1 <= ans2 )
{
printf("A\n");
}
else printf("B\n");
}
return 0;
}
相关文章推荐
- Javascript SHA-1:Secure Hash Algorithm
- [转]可视化的数据结构和算法
- 统计文件中不小于某一长度的单词的个数(泛型算法实现)
- 使用他人的MD5编码类,修改形成密码串
- Extracting Structured Data from Web Pages
- (译)Cocos2d_for_iPhone_1_Game_Development_Cookbook:1.13使用CCTexture2DMutable调换调色盘
- Java中3DES加密
- Refactoring Notes-Refactoring Methods(3)
- 图书馆管理程序~~不过貌似功能!!有空再修修
- trainging contest#2(2011成都现场赛)I BY Hyoga
- C/C++头文件包含内容概览
- Codeforces Round #197 (Div. 2)
- Codeforces Round #198 (Div. 1)
- 堆栈的应用(1) 平衡符号 C++实现
- 程序员编程艺术第一章、左旋转字符串
- 程序员编程艺术:第三章续、Top K算法问题的实现
- 程序员编程艺术:第四章、现场编写类似strstr/strcpy/strpbrk的函数
- 十四、第三章再续:快速选择SELECT算法的深入分析与实现
- 程序员编程艺术:第七章、求连续子数组的最大和
- 程序员编程艺术:第八章、从头至尾漫谈虚函数