zoukankan      html  css  js  c++  java
  • [hdu4662]MU Puzzle(找规律)

    题意:给你一个串MI,按照三种规则1:M后面的部分加倍 2:III->U 3:删去连续的两个UU。看看能否变为给定的串

    解题关键:将所有的U转化为I,发现 t+k*6=2^i -> =2^i%6,找规律发现 t%6==2或t%6==4

    #include<cstdio>
    #include<cstring>
    #include<cstdlib>
    #include<algorithm>
    #include<cmath>
    #include<iostream>
    using namespace std;
    typedef long long ll;
    int main(){
        int t;
        cin>>t;
        string s;
        while(t--){
            cin>>s;
            int num=0;
            int f1=0;
            for(int i=0;i<s.size();i++){
                if(s[i]=='I') num++;
                if(s[i]=='U') num+=3;
                if(s[i]=='M') f1++;
            }
            if(f1!=1||s[0]!='M') {cout<<"No
    ";continue;}
            if(num==1||num%6==2||num%6==4) cout<<"Yes
    ";
            else cout<<"No
    ";
        }
        return 0;
    }
  • 相关阅读:
    svg入门
    常用颜色对照表
    字节序
    eclipse常用快捷键
    jenkins 安装
    redis
    Linux
    jenkins
    jenkins
    jenkins- 自动部署java包至远程服务器
  • 原文地址:https://www.cnblogs.com/elpsycongroo/p/7797059.html
Copyright © 2011-2022 走看看