zoukankan      html  css  js  c++  java
  • 【找规律】HDU 4662——MU Puzzle

    来源:点击打开链接

    这个题目的来源是人工智能领域MU猜想。比赛的时候也参考了相关资料,可是最后差一点没有把规律推出来。

    注意到以下几个性质。第一,MI怎么变换M永远只能在第一位。第二,因为变换时只能在I和U之间变换,因此,除了第一个是M以外,后面如果有字符串不是U、I以内的话永远不可能变换得到。第三,U可以看成是3个I,无论是I先变换成U再操作还是转化成一定数量的I,最后再准换成一定数量的U即可,因此将所有的字母用I作为一般等价物进行交换即可。

    #include <iostream>
    #include <cstring>
    #include <string>
    using namespace std;
    
    int main()
    {
    	int testcase;
    	cin>>testcase;
    	while(testcase--)
    	{
    		string p="MI";
    		int counti=1,countu=0,counti2=0,countu2=0,cm=0,pos=0;
    		string tar;
    		cin>>tar;
    		for(int i=0;i<tar.length();i++)
    		{
    			
    			if(tar[i]=='M')
    			{
    				cm++;
    			}
    				
    			if(tar[i]=='I')
    			{
    				counti2++;
    			}
    				
    			if(tar[i]=='U')
    			{
    				countu2++;
    			}
    				
    		}
    		
    		if( cm==1 && tar[0]=='M'&& (((countu2*3+counti2)%2==0 && (countu2*3+counti2)%3!=0)||(countu2*3+counti2)==1))
    		{
    			pos=1;
    		}
    		else
    		{
    			pos=0;
    		}
    		
    	
    		if(pos==0)
    		{
    			cout<<"No"<<endl;
    		}
    		else if(pos==1)
    			cout<<"Yes"<<endl;
    		
    		
    	}
    	
    	return 0;
    }
    


  • 相关阅读:
    CodeForces
    CodeForces
    CodeForces
    HDU 6704 K-th occurrence(后缀数组,主席树,st表,二分)
    AcWing 1004. 品酒大会 (后缀数组,并查集)
    Gym
    codeforces 2100左右的DS题 做题记录
    P4768 [NOI2018] 归程 做题记录
    CSP 2021 智熄记
    「随笔」论打羽毛球的正确姿势
  • 原文地址:https://www.cnblogs.com/james1207/p/3258021.html
Copyright © 2011-2022 走看看