zoukankan      html  css  js  c++  java
  • HDU 4839 The Game of Coins _(:зゝ∠)_

    The Game of Coins


    mark:

    #include"cstdio"  
    #include"iostream"  
    #include"queue"  
    #include"algorithm"  
    #include"set"  
    #include"queue"  
    #include"cmath"  
    #include"string.h"  
    #include"vector"
    using namespace std; 
    
    #define ll __int64
    inline ll abs(ll x){return x>0?x:-x;}
    ll gcd(ll a,ll b){if(a>b)swap(a,b);    while(a){    b%=a;swap(a,b);    }return b;}
    
    int main() {
        ll T, i, j;scanf("%I64d", &T);
        for(ll t = 1; t <= T; t++){
            char a[1005], b[1005];
            scanf("%s %s", a, b);
            printf("Case #%I64d:
    ", t);
            ll len = strlen(a);
            ll ga = 0, fa = 0, gb = 0, fb = 0;
            for (i = 1; i<=len; i++) 
            {
                if (strncmp(a, a+len-i, i) == 0) ga |= (ll)1 << i;
                if (strncmp(a, b+len-i, i) == 0) fa |= (ll)1 << i;
                if (strncmp(b, a+len-i, i) == 0) gb |= (ll)1 << i;
                if (strncmp(b, b+len-i, i) == 0) fb |= (ll)1 << i;
            }
            ll dou1 = abs(ga - gb);
            ll dou2 = abs(fb - fa);
            
            if (dou1 == dou2) { puts("1/2"); continue; }
            if (dou1 == 0) { puts("1"); continue; }
            if (dou2 == 0) { puts("0"); continue; }
            ll GCD = gcd(dou1, dou2);
            dou1 /= GCD;    dou2 /= GCD;
            printf("%I64d/%I64d
    ", dou2, dou1+dou2);
        }
        return 0;
    }
    


  • 相关阅读:
    Gitee + PicGo搭建图床 & Typora上传图片到图床
    算法思维 ---- 双指针法
    Floyd's cycle-finding algorithm
    Boyer-Moore Voting Algorithm
    youtube-dl 使用小记
    算法思维 ---- 滑动窗口
    Memo
    英语
    BZOJ 3270
    BZOJ 3196
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5147131.html
Copyright © 2011-2022 走看看