zoukankan      html  css  js  c++  java
  • E-Pawns

    Pawns

    题意:象棋游戏,每一列都有一个黑棋子和一个白棋子,黑棋子始终在白棋子的上方,黑棋子只能往下放移动,白棋子只能往上方移动,一般情况下棋子只能移动一格,特别的当黑白棋子在棋盘两端时,在端点的棋子要移动两格。、棋子只能在所在列移动而且,而且棋子不会少,最后一个移动棋子的玩家获胜

    #include<bits/stdc++.h>
    using namespace std;
    const int maxn = 20+5;
    char board[maxn][maxn];
    int n,m;
    int main()
    {
        //freopen("in.txt","r",stdin);
        int t;
        cin>>t;
        while(t--)
        {
            int doublejoker=0;
            int whitejoker=0,blackjoker=0;
            int nrmoves=0;
            int w,b;
            int i,j;
            scanf("%d%d",&n,&m);
            for(int i=0; i<n; i++)
             scanf("%s",board[n-1-i]);
            for(j=0; j<m; j++)
            {
    
                for(i=0; board[i][j]!='W'; i++);
                w=i;
                for(i++; board[i][j]!='B'; i++);
                b=i;
                if(w==0&&b==n-1&&n>3)
                    doublejoker++;
                else
                {
                  if(w==0&&b>2)
                   whitejoker+=b-2;
                  else if(b==n-1&&w<n-3)
                    blackjoker+=n-3-w;
                  nrmoves+=b-w-1;
                }
    
            }
            printf("%s wins
    ", (n == 4 && doublejoker % 2 == 1) ||
    		                    whitejoker > blackjoker ||
    		                    (whitejoker >= blackjoker - 1 && nrmoves % 2 == 1) ? "White" : "Black");
        }
        return 0;
    }
    


  • 相关阅读:
    最大流模板
    大数相加
    . Number throry
    掷骰子 dp
    Java常用类库2
    简单注册功能(未连接数据库)
    Java常用类库
    人机猜拳
    租车系统
    Java一些概念
  • 原文地址:https://www.cnblogs.com/kuroko-ghh/p/9363342.html
Copyright © 2011-2022 走看看