zoukankan      html  css  js  c++  java
  • ZOJ Problem Set

    

    唉!先直接上源码吧!什么时候有时间的再来加说明。

    #include<iostream>
    #include<vector>
    #include<stack>
    #include<deque>
    #include<algorithm>
    #include<iterator>
    using namespace std;
    
    /*
    *i代表PUSH。o代表POP
    */
    bool judge(deque<char> sou,deque<char> des,vector<char> & res)
    {
    	stack<char> inistack;
    	for(vector<char>::iterator iter = res.begin();iter!=res.end();iter++)
    	{
    	 if('i' == *iter)
    	 {
    		 inistack.push(sou.front());
    		 sou.pop_front();
    	 }
    	 else
    	 {
    		 if(des.front() != inistack.top())
    			 return false;
    		 des.pop_front();
    		 inistack.pop();
    	 }
    	}
    	return true;
    }
    
    void fun(deque<char>& sou,deque<char>& des,vector<char> & res)
    {
    	if(res.size() >= 2*sou.size())
    	{
    		if(judge(sou,des,res))//输出结果
    		{
    			copy(res.begin(),res.end(),ostream_iterator<char>(cout," "));
    			cout<<endl;
    		}
    	  return;
    	}
    
    	for (int i = 0; i <= 6; i+=6)
    	{
    		if(6==i&&(count(res.begin(),res.end(),'o')>=count(res.begin(),res.end(),'i')))
    			continue;
    		if(0==i&&((count(res.begin(),res.end(),'i')-count(res.begin(),res.end(),'o'))>=(2*sou.size()-res.size()) ))
    			continue;
    		res.push_back('i'+i);
    		fun(sou,des,res);
    		res.pop_back();
    	}
    }
    
    int main()
    {
    	deque<char> source,desti;
    	vector<char>  res;
    	copy(istream_iterator<char>(cin),istream_iterator<char>(),inserter(source,source.end()));
    	cin.clear();
    	copy(istream_iterator<char>(cin),istream_iterator<char>(),inserter(desti,desti.end()));
    	fun(source,desti,res);
    	return 0;
    }




  • 相关阅读:
    SP503 【PRINT
    UVA10924 【Prime Words】
    UVA902 【Password Search】
    UVA10339 【Watching Watches】
    UVA11057 【Exact Sum】
    DP题单解题报告合集
    P1829 [国家集训队]Crash的数字表格 / JZPTAB
    莫比乌斯反演入门
    莫比乌斯函数
    题解 P3168 [CQOI2015]任务查询系统
  • 原文地址:https://www.cnblogs.com/yangykaifa/p/7390497.html
Copyright © 2011-2022 走看看