• ACM/ICPC ZOJ1016Parencodings解题方法代码


    #include <iostream>
    #include <vector>
    using namespace std;
    int main()
    {
    	int testcase_num;
    	cin >> testcase_num;
    	vector<int> *result = new vector<int>[testcase_num];
    	for ( int i = 0; i < testcase_num; i++ )
    	{
    		int number_transfered;
    		cin >> number_transfered;
    		vector<int> transfered;
    		int count = 0;
    		int input;
    		while( count < number_transfered && cin >> input )
    		{
    			transfered.push_back(input);
    			count++;
    		}
    		vector<int>::iterator trans_iter = transfered.begin();
    		vector<int> p_seq;
    		count = 0;
    		while( trans_iter != transfered.end() )
    		{
    			if ( count != *trans_iter)
    			{
    				p_seq.push_back(0);
    				count++;
    			}
    			
    			if ( count == *trans_iter )
    			{
    				p_seq.push_back(1);
    				trans_iter++;
    			}
    			
    		}
    
    		//vector<int> w_seq;
    		for ( vector<int>::iterator p_iter = p_seq.begin(); p_iter != p_seq.end(); p_iter++ )
    		{
    			if ( *p_iter == 1 )
    			{
    				vector<int>::iterator temp = p_iter;
    				int count_num = 1;
    				while( *temp != 0 )
    				{
    					if ( *temp == -1 )
    					{
    						count_num++;
    					}
    					temp--;
    					if ( *temp == 0 )
    					{
    						*temp = -1;
    						break;
    					}
    				}
    
    				result[i].push_back(count_num);
    			}
    		}
    
    		
    	}
    	for ( int i = 0; i < testcase_num; i++ )
    	{
    		for ( vector<int>::iterator iter = result[i].begin(); iter < result[i].end(); iter++ )
    		{
    			if (iter != result[i].end() - 1)
    			{
    				cout << *iter <<" ";
    			}
    			else
    				cout << *iter;
    		}
    		cout << endl;
    	}
    	
    	return 0;
    }
    
  • 相关阅读:
    华为机试题 二叉查搜索树 判断两序列是否为同一二叉搜索树序列
    华为机试题 火车进站
    Linux命令学习 rmdir
    Linux命令学习 rm
    Linux命令学习 mkdir
    Linux命令学习 du
    Linux命令学习 pwd
    Linux命令学习 ls
    Linux命令学习 cd
    伪代码编程过程
  • 原文地址:https://www.cnblogs.com/2011winseu/p/3132460.html
Copyright © 2020-2023  润新知