Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

p3176 那位大侠的程序给我看看,或看看我的

Posted by jsjlab at 2007-05-23 13:02:24
  // 帮我把我的该进一下,我的是tl,我是菜鸟,请帮帮我.
#include <iostream>
#include <deque>
#include <algorithm>

using namespace std;

void print(deque<int> c)
{
	deque<int>::const_iterator cp;
	for(cp=c.begin();cp!=c.end();cp++)
		cout<<*cp<<" ";
	cout<<endl;
	return;
}
int main(void)
{
	int N,K,S;
	int i;
	while(cin>>N>>K>>S)
	{
		deque <int> first(N);
		deque <int> second(K);
		for(i=0;i<N;i++)
			cin>>first[i];
		for(i=0;i<K;i++)
			cin>>second[i];

		deque<int> copy(K),copy1(K);
		deque<int> index(K),index1(K);
		deque<int> result_index(N-K,0);
		int no=0;		
		deque<int>::const_iterator head,rear,itr;
		head=first.begin();
		rear=head+K;
		for(i=0;i<N-K+1;i++,head++,rear++)
		{
			copy.assign(head,rear);
			copy1.assign(head,rear);
			sort(copy.begin(),copy.end());
			
			int j=1,m;
			int pre=copy[0];
			index[0]=j;
			for(m=1;m<K;m++)
			{
				if(copy[m]!=pre)
				{
					j++;
					pre=copy[m];
				}
				index[m]=j;
			}

			for(j=0;j<K;j++)
			{ 
				itr=find(copy.begin(),copy.end(),copy1[j]);
				index1[j]=index[itr-copy.begin()];
			}
			if(index1==second)
			{
				result_index[no]=i+1;
				no++;
			}
		}
			
		cout<<no<<endl;
		for(i=0;i<no;i++)
			cout<<result_index[i]<<endl;
	}
	

	return 0;
}

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator