Cod sursa(job #403557)

Utilizator jamescrea23Perian Gheorghe-Bogdan jamescrea23 Data 25 februarie 2010 08:39:02
Problema Cel mai lung subsir comun Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include <fstream>
#include <vector>
#include <cstdio>

using namespace std;

vector<int> sir;
int n,m,i,j;
short mat[1027][1027];

fstream f,g;

int main()
{
	int maxim=1;
    f.open("cmlsc.in",ios::in);
    g.open("cmlsc.out",ios::out);
    f >> m >> n;
	for(i=2;i<m+2;i++)
		f >> mat[i][0];
	for(i=2;i<n+2;i++)
		f >> mat[0][i];
	bool fl;
	
	for(i=2;i<m+2;i++)
	  { fl=false;
	    for(j=2;j<n+2;j++)
		  if(mat[i][0]==mat[0][j])
			{fl=true;mat[i][j] = maxim;break;}
	   if(fl==true) maxim++;	
	}

	
	int mix = 1;
	
	for(i=2;i<m+2;i++)
	    for(j=2;j<n+2;j++)
		   if(mat[i][j] == mix)
		   {
			   sir.push_back(mat[0][j]);
			   mix++;
			   break;
		   }
		
	
	g << sir.size() << "\n";
    for(i=0;i<sir.size();i++)
       g << sir[i] << " " ;		
    g.close();
    return 0;
}