zoukankan      html  css  js  c++  java
  • 2016 Multi-University Training Contest 3

    官方题解

    1003

    题意:国际象棋 王 后 马 单 四种类型的走法。B先手G后手,轮流走。n*m的棋盘。谁先走到(n,m)谁赢,输出赢的人,平局D

    比赛wrong12发。。。。。

    和题解说的差不多

    后 的时候就是威佐夫博弈

     1 // #pragma comment(linker, "/STACK:102c000000,102c000000")
     2 #include <iostream>
     3 #include <cstdio>
     4 #include <cstring>
     5 #include <sstream>
     6 #include <string>
     7 #include <algorithm>
     8 #include <list>
     9 #include <map>
    10 #include <vector>
    11 #include <queue>
    12 #include <stack>
    13 #include <cmath>
    14 #include <cstdlib>
    15 // #include <conio.h>
    16 using namespace std;
    17 #define clc(a,b) memset(a,b,sizeof(a))
    18 #define inf 0x3f3f3f3f
    19 #define lson l,mid,rt<<1
    20 #define rson mid+1,r,rt<<1|1
    21 const int N = 100010;
    22 const int M = 1e6+10;
    23 const int MOD = 1e9+7;
    24 #define LL long long
    25 #define LB long double
    26 #define mi() (l+r)>>1
    27 double const pi = acos(-1);
    28 const double eps = 1e-8;
    29 void fre() {
    30     freopen("in.txt","r",stdin);
    31 }
    32 // inline int r() {
    33 //     int x=0,f=1;char ch=getchar();
    34 //     while(ch>'9'||ch<'0') {if(ch=='-') f=-1;ch=getchar();}
    35 //     while(ch>='0'&&ch<='9') { x=x*10+ch-'0';ch=getchar();}return x*f;
    36 // }
    37 
    38 int main(){
    39     int T;
    40     scanf("%d",&T);
    41     int t,n,m;
    42     while(T--){
    43         scanf("%d%d%d",&t,&n,&m);
    44         if(n>m) swap(n,m);
    45         if(t==1){
    46             if(n%2==1&&m%2==1){
    47                 printf("G
    ");
    48                 continue;
    49             }
    50             else{
    51                 printf("B
    ");
    52                 continue;
    53             }
    54         }
    55         else if(t==2){
    56             if(n==m){
    57                 printf("G
    ");
    58                 continue;
    59             }
    60             else{
    61                 printf("B
    ");
    62                 continue;
    63             }
    64         }
    65         else if(t==3){
    66            if(n==m&&n%3==1) printf("G
    ");
    67             else if(m-n==1&&n%3==2&&m%3==0) printf("B
    ");
    68             else printf("D
    ");
    69         }
    70         else{
    71             m = m  - 1;
    72             n = n - 1;
    73             int c=min(m,n);
    74             double k = (1.0+sqrt(5))/2.0;
    75             int tem=(int)(abs(n-m)*(k));
    76             if(c==tem){
    77                 printf("G
    ");
    78             }
    79             else{
    80                 printf("B
    ");
    81             }
    82             continue;
    83         }
    84     }
    85     return 0;
    86 }
    View Code
  • 相关阅读:
    排序-堆排序
    排序-计数排序
    Django之路——10 django的分页组件
    Django之路——9 Django的form组件的信息校验
    Django之路——8 cookie 和sessions
    Django之路——7 django与ajax
    Django之路——6 Django的模型层(二)
    Django之路——6 Django的模型层(一)
    Django之路——4 Django的视图层
    Django之路——5 Django的模板层
  • 原文地址:https://www.cnblogs.com/ITUPC/p/5709363.html
Copyright © 2011-2022 走看看