zoukankan      html  css  js  c++  java
  • hdu 4662 MU Puzzle

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4662

    MU Puzzle

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 1296    Accepted Submission(s): 539


    Problem Description
    Suppose there are the symbols M, I, and U which can be combined to produce strings of symbols called "words". We start with one word MI, and transform it to get a new word. In each step, we can use one of the following transformation rules:
    1. Double any string after the M (that is, change Mx, to Mxx). For example: MIU to MIUIU.
    2. Replace any III with a U. For example: MUIIIU to MUUU.
    3. Remove any UU. For example: MUUU to MU.
    Using these three rules is it possible to change MI into a given string in a finite number of steps?
     

    Input
    First line, number of strings, n. 
    Following n lines, each line contains a nonempty string which consists only of letters 'M', 'I' and 'U'. 

    Total length of all strings <= 106.
     

    Output
    n lines, each line is 'Yes' or 'No'.
     

    Sample Input
    2 MI MU
     

    Sample Output
    Yes No
     

    Source
     

    Recommend
    zhuyuanchen520   |   We have carefully selected several similar problems for you:  4822 4821 4820 4819 4818 
     

    规律题,把u所有化成i,然后多写下,就能发现规律

    #include<iostream>
    #include<cstring>
    using namespace std;
    char str[1000010];
    int main()
    {
    	int n;
    	cin>>n;
    	while(n--)
    	{
    		cin>>str;
    		int l=strlen(str),xi=0,xu=0,k=0;
    		if(str[0]!='M')
    		{
    			cout<<"No"<<endl;
    			continue;
    		}
    		for(int i=1;i<l;i++)
    		{
    			if(str[i]=='I')
    			    xi++;
    			else if(str[i]=='U')
    			    xu++;
    			else
    			{
    				k=1;
    				break;
    			}
    		}
    		if(k==1 || ((xi+xu)%2==1 && !(xi==1 && xu==0)) || xi%3==0)
    		{
    			cout<<"No"<<endl;
    			continue;
    		}
    		else
    		{
    			cout<<"Yes"<<endl;
    			continue;
    		}	
    	}
    	return 0;
    }
    


  • 相关阅读:
    长沙集训day6
    长沙集训day5(总结)
    长沙集训day4(总结)(爆零记)
    长沙集训day3(总结)(爆零记)
    长沙集训day2(总结)
    长沙集训day1(总结)
    p1324 dining(晚餐)
    p1156集合删数
    1034: [ZJOI2008]泡泡堂BNB
    清北学堂Day 6 游记
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/3765508.html
Copyright © 2011-2022 走看看