// CryptKicker.cpp : 콘솔 응용 프로그램에 대한 진입점을 정의합니다.
//

#include "stdafx.h"
#include <iostream>

#include <map>

using namespace std;

#define MAX_WORD_CNT 1000
#define MAX_STR_LENGTH 16

map<char, char> g_map;
map<char, char>::iterator g_iter;

int _tmain(int argc, _TCHAR* argv[])
{
 
 int numCnt = 0;

 cin >> numCnt ;

 cin.get();


 char words[MAX_WORD_CNT][MAX_STR_LENGTH];
 memset( words, '\0', sizeof( char)* MAX_STR_LENGTH* MAX_WORD_CNT);
 for(int i = 0; i< numCnt; ++i)
 {
  cin.getline( &words[i][0], MAX_STR_LENGTH );
 }

 
 for(int i = 0; i< numCnt; ++i)
 {

  char* a= &words[i][0];
  cout<<" cnt : "<<i <<" ,"  <<a<<endl;

 }

 char words2[MAX_WORD_CNT][MAX_STR_LENGTH];
 memset( words2, '\0', sizeof( char)* MAX_STR_LENGTH* MAX_WORD_CNT);
 for(int i = 0; i< numCnt ; ++i)
 {
  cin.getline( &words2[i][0], MAX_STR_LENGTH );
 }

 for(int i = 0; i< numCnt; ++i)
 {

  for(int j = 0; j< numCnt; ++j)
  {


   for(int z = 0 ; z< strlen (&words[j][0])   ;   ++z )
    g_map.insert( std::make_pair( words2[j][z], words[j][z] )  );

  }

 }

 for(int i = 0 ; i< numCnt; ++i)
 {
  for(int z = 0 ; z< strlen (&words2[i][0]);   ++z )
  {
   g_iter = g_map.find( words2[i][z]);
 
   if ( g_iter != g_map.end())
   {
    cout<<(char) (g_iter->second);
   }

  }
  
  cout<< endl;
   

 }

 return 0;
}

 

'Programing > 알고리즘' 카테고리의 다른 글

100개 따조 모으기  (0) 2012.01.16
중복하지 않는 난수생성..  (0) 2011.12.09
Crypt Kicker  (0) 2011.12.07
Jolly Jumpers  (0) 2011.12.07
DisplayLCD  (0) 2011.12.07
The Trip  (0) 2011.12.05
Posted by 패스맨

댓글을 달아 주세요